部署使用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的状态

相关推荐
szxinmai主板定制专家1 天前
电力设备RK3568/RK3576+FPGA,多系统混合部署Linux+RTOS RT-THREAD,强实时性
linux·运维·服务器·人工智能·嵌入式硬件·fpga开发
我是坑货1 天前
Jenkins 构建失败排查记录:mvn -U 把新版依赖被远程旧版覆盖
运维·jenkins
L、2181 天前
CANN调优工具链全景:从profiler到tensorboard的完整观测体系
linux·运维·服务器·深度学习
码点滴1 天前
Workload 自动化进化论:从手动运维到 AI 驱动的 Kubernetes 智能管控
运维·人工智能·kubernetes·自动化·workload
darkdragonking1 天前
Docker(五)OpenEuler22.03 安装docker ce、排坑
运维·docker·容器
j_xxx404_1 天前
Linux进程信号捕捉与操作系统运行本质深度解析
linux·运维·服务器·开发语言·c++·人工智能·ai
eggrall1 天前
Linux信号——保存信号
linux·运维·服务器
2501_920047031 天前
firewalld的使用
linux·运维
孙高飞1 天前
直播预告 - 周日晚 7 点半-AI 驱动 UI 自动化
运维·自动化
qq_196976171 天前
硬核多语言办公方案:基于Gemini境像站的实时翻译与双语文档自动化生成管道(国内免费镜像实测)
运维·自动化