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

相关推荐
cft56200_ln18 分钟前
gPTP Master 报文目的 MAC 地址
运维·服务器·网络
AOwhisky2 小时前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
XTIOT6663 小时前
CRPT 诚实标识采集落地技术实践:分工况硬件选型与合规数据标准化解决方案
大数据·运维·人工智能·嵌入式硬件·物联网
weixin_505061453 小时前
线束中国探展专访|广东星坤:以高可靠互连突围,打造国产连接器全球化标杆
运维
想你依然心痛4 小时前
嵌入式容器:Docker与BalenaOS在边缘设备上的实践——容器运行时与OTA
运维·docker·容器
竣达技术4 小时前
NAS / 服务器断电数据丢失?UPS 配套 USB关机保护板,市电断电池低自动提示服务器/电脑关机
运维·服务器·电脑
Lottie20264 小时前
京东电商进阶运营:精准定价+安全铺货+竞品监控+利润管控全自动化方案
运维·安全·自动化
章老师说4 小时前
NGINX官方谈Lua风险:这其实是两条网关技术路线之争
运维·nginx·负载均衡·lua·openresty
wbs_scy4 小时前
仿 muduo 高并发服务器项目:实现 Any 通用容器并理解 std::any
运维·服务器
做个文艺程序员5 小时前
Linux第11篇:存储管理——磁盘分区、LVM 与文件系统
linux·运维·服务器