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

相关推荐
a***72891 分钟前
Java进阶(ElasticSearch的安装与使用)
java·elasticsearch·jenkins
念一不念二3 分钟前
VScode+云服务器
运维·服务器
vortex512 分钟前
Kali Linux 磁盘扩容后内部分配完整教程
linux·运维
想唱rap20 分钟前
应用层协议与序列化
linux·运维·服务器·网络·数据结构·c++·算法
开开心心_Every25 分钟前
轻量级PDF阅读器,仅几M大小打开秒开
linux·运维·服务器·安全·macos·pdf·phpstorm
云达闲人30 分钟前
搭建DevOps企业级仿真实验环境:006Proxmox 基础环境验证
运维·devops·proxmox ve·sre·仿真实验环境·快照与克隆·运维实操教程
the_fat_bird42 分钟前
ubuntu install nvidia gpu driver
linux·运维·ubuntu
江南风月1 小时前
WGCLOUD如果使用SQL Server数据库推荐哪个版本
运维·网络·zabbix·运维开发·prometheus
IMPYLH1 小时前
Linux 的 tac 命令
linux·运维·服务器·bash
计算机安禾1 小时前
【Linux从入门到精通】第50篇:专栏总结与Linux学习之路的未来展望
linux·运维·学习