完整教程:ELK+Kafka集群部署(K8s容器日志归档)方案
本文详细介绍了ELK(Elasticsearch、Logstash、Kibana)集群与Kafka的部署(K8s容器日志归档)方案
Elasticsearch:分布式搜索和分析引擎
Logstash:数据处理管道(需要与ES版本匹配)
Kibana:内容可视化工具(需要与ES版本匹配)
Kafka:消息中间件用于日志流处理
Elasticsearch:elasticsearch-7.3.1-linux-x86_64.tar.gz
Logstash:logstash-7.7.0-linux-x86_64.tar.gz
Kibana:kibana-7.3.1-linux-x86_64.tar.gz
Kafka:kafka_2.12-2.1.0.tgz
1、集群基础环境说明
192.168.2.100 TT-TK-ELK01 #安装logstash、kibana、kafka、zookeeper
192.168.2.200 TT-TK-ELK02 #安装elasticsearch、kafka、zookeeper
192.168.2.300 TT-TK-ELK03 #安装elasticsearch、kafka、zookeeper
2、集群每台服务器配置主机名和hosts
hostnamectl set-hostname TT-TK-ELK01 --static
hostnamectl set-hostname TT-TK-ELK02 --static
hostnamectl set-hostname TT-TK-ELK03 --static
/etc/hosts
192.168.2.100 TT-TK-ELK01
192.168.2.200 TT-TK-ELK02 es_node01
192.168.2.300 TT-TK-ELK03 es_node02
3、在ELK02和ELK03安装elasticsearch集群
tar -zxvf elasticsearch-7.3.1-linux-x86_64.tar.gz -C /elk/
#创建用户并授权
groupadd elk
useradd elk -g elk
chown -R elk:elk /elk/elasticsearch-7.3.1
#配备环境参数
echo "vm.max_map_count=655360" | sudo tee -a /etc/sysctl.conf
echo "* soft nofile 65536" | sudo tee -a /etc/security/limits.conf
echo "* hard nofile 131072" | sudo tee -a /etc/security/limits.conf
sudo sysctl -p
#设置配置文件
vim /elk/elasticsearch-7.3.1/config/elasticsearch.yml #每个节点操作一遍
cluster.name: es_cluster #集群名称,各节点要一致
node.name: es_node01 #节点名称,同一个集群内所有节点的节点名称不能重复
path.data: /elk/elasticsearch-7.3.1/data #将es的数据存在该目录,注意创建该目录
path.logs: /elk/elasticsearch-7.3.1/logs #日志目录,会创建以集群名称的一个日志目录
bootstrap.memory_lock: false #内存不锁定
network.host: 192.168.2.200 #绑定监听地址
http.port: 9200 #默认端口号
discovery.seed_hosts: ["es_node01",
浙公网安备 33010602011771号