部署使用ES

一、系统准备(两台服务器均需操作)

  1. 关闭防火墙和SELinux

    复制代码
    systemctl stop firewalld
    systemctl disable firewalld
    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  2. 配置主机名解析

    复制代码
    echo "192.168.3.100 elk-node1" >> /etc/hosts
    echo "192.168.3.102 elk-node2" >> /etc/hosts
  3. 安装Java环境

    复制代码
    yum install -y java-11-openjdk
    java -version  # 验证安装

二、部署Elasticsearch集群

1. 在两台服务器安装Elasticsearch
复制代码
# 导入Elasticsearch GPG密钥
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
​
# 创建Elasticsearch仓库文件
cat > /etc/yum.repos.d/elasticsearch.repo <<EOF
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
​
# 安装Elasticsearch
yum install -y elasticsearch
2. 配置Elasticsearch(节点1:192.168.3.100)

编辑 /etc/elasticsearch/elasticsearch.yml

复制代码
cluster.name: elk-cluster
node.name: elk-node1
node.roles: [master, data]
network.host: 192.168.3.100
http.port: 9200
discovery.seed_hosts: ["192.168.3.100", "192.168.3.102"]
cluster.initial_master_nodes: ["elk-node1", "elk-node2"]
3. 配置Elasticsearch(节点2:192.168.3.102)

编辑 /etc/elasticsearch/elasticsearch.yml

复制代码
cluster.name: elk-cluster
node.name: elk-node2
node.roles: [master, data]
network.host: 192.168.3.102
http.port: 9200
discovery.seed_hosts: ["192.168.3.100", "192.168.3.102"]
cluster.initial_master_nodes: ["elk-node1", "elk-node2"]
4. 启动服务并验证
复制代码
systemctl daemon-reload
systemctl enable elasticsearch
systemctl start elasticsearch
​
# 检查集群状态(任意节点执行)
curl http://192.168.3.100:9200/_cluster/health?pretty

输出应显示 "status" : "green""number_of_nodes" : 2


三、部署Logstash(两台服务器可选)

1. 安装Logstash
复制代码
yum install -y logstash
2. 示例配置(收集系统日志)

创建配置文件 /etc/logstash/conf.d/syslog.conf

复制代码
input {
  file {
    path => "/var/log/messages"
    start_position => "beginning"
  }
}
​
output {
  elasticsearch {
    hosts => ["http://192.168.3.100:9200", "http://192.168.3.102:9200"]
    index => "syslog-%{+YYYY.MM.dd}"
  }
}
3. 启动Logstash
复制代码
systemctl enable logstash
systemctl start logstash

四、部署Kibana(建议部署在单节点,或两者均部署)

1. 在节点1安装Kibana
复制代码
yum install -y kibana
2. 配置Kibana(节点1:192.168.3.100)

编辑 /etc/kibana/kibana.yml

复制代码
server.host: "192.168.3.100"
elasticsearch.hosts: ["http://192.168.3.100:9200", "http://192.168.3.102:9200"]
3. 启动Kibana
复制代码
systemctl enable kibana
systemctl start kibana

五、验证高可用性

  1. 模拟故障测试

    • 停止节点1的Elasticsearch:systemctl stop elasticsearch

    • 在节点2执行:curl http://192.168.3.102:9200/_cluster/health?pretty

    • 应看到 "number_of_nodes" : 1,集群状态可能为 yellow(因副本未分配)。

  2. 访问Kibana

    • 浏览器访问 http://192.168.3.100:5601,进入 Management > Stack Management 查看集群状态。

kibana使用:

1、访问http://192.168.3.100:5601/status,查看elk的状态

相关推荐
一叶知秋yyds2 小时前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
斯普信云原生组3 小时前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
safestar20124 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
来一颗砂糖橘4 小时前
负载均衡的多维深度解析
运维·负载均衡
楠奕4 小时前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT5 小时前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!5 小时前
Linux常用指令(2)
linux·运维·服务器
飞Link5 小时前
逆向兼容的桥梁:3to2 自动化降级工具实现全解析
运维·开发语言·python·自动化
LIZhang20166 小时前
linux写一个脚本实时保存内存占用情况
linux·运维·服务器
FS_Marking6 小时前
ZTP(零接触配置):实现自动化与高效的网络部署
运维·网络·自动化