Elastic stack 是指由Elasticsearch、Logstash、Kibana和Kafka、Filebeat组成的日志分析平台,即传统的ELK加上Kafka和Filebeat,可以将系统、网站、应用等日志进行收集、过滤、清洗,然后进行集中存放,最终用于实时检索和分析。
本文主要介绍如何配置及优化Elastic stack平台的基本环境。
主机资源
本网站 Elastic stack 课程系列的部署方案如下:
主机名 | IP | 用途 |
Kafka1 | 10.10.200.201 | zookeeper+kafka |
Kafka2 | 10.10.200.202 | |
Kafka3 | 10.10.200.203 | |
ES1 | 10.10.200.204 | elasticsearch+logstash |
ES2 | 10.10.200.205 | |
ES3 | 10.10.200.206 | |
Kibana | 10.10.200.207 | kibana+tools |
系统环境
除kibana节点外,其他节点均必须对系统进行性能优化。
优化系统参数
以下参数值需要根据内存大小进行调整。
优化/etc/security/limits.conf参数:
* soft nofile 262144 * hard nofile 262144 * soft nproc 65535 * hard nproc 65535
优化/etc/sysctl.conf参数:
vm.max_map_count = 262144 fs.file-max = 262144 net.core.somaxconn = 65535 net.ipv4.ip_forward = 1
sysctl -p
优化/etc/security/limits.d/20-nproc.conf参数:
* soft nproc unlimited
修改主机名及解析
对Kafka、Elasticsearch集群添加主机解析,也可以省略,但在kafka、elasticsearch、logstash等配置文件中写主机IP,而不是主机名。
主机解析列表如下:
10.10.200.201 KAFKA1 10.10.200.202 KAFKA2 10.10.200.203 KAFKA3 10.10.200.204 ES1 10.10.200.205 ES2 10.10.200.206 ES3
创建用户
ELK不能通过root账号启动,故必须创建elk专有用户。
useradd elkadmin passwd elkadmin
配置好用户权限后,通过elkadmin配置和启动 Elastic stack 服务,同样在kafka主机上也创建对应的系统账号,但filebeat部署在客户端,视实际情况进行部署。
部署jdk
ELK和Kafka都需要jdk支持,而且ELK与java必须严格匹配版本,因此,在elasticsearch应用包中默认会包含jdk源码,根据elasticsearch的部署路径配置jdk环境变量即可:
修改环境变量/etc/profile
export JAVA_HOME=/opt/elasticsearch-7.6.2/jdk export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
也可以通过方式安装jdk,但一定不得低于官方要求的版本,通过如下命令查看当前jdk版本:
java -version
原创文章禁止转载:技术学堂 » Elastic.stack集群部署课程二·基本环境