环境准备
- 点击查看ELK对操作系统是否兼容
- 点击查看ELK对JDK是否兼容信息列表
- 因此我们的服务器最好使用JDK11长期支持版本。
Future versions of Elasticsearch will require Java 11;
your Java version from [/usr/local/java/jdk/jdk1.8.0_161/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.
ELK 是Elasticsearch ,Logstash, Kibana 的简称缩写,主要专注于可视化日志分析和查询
Elastic Stack 主要包括三大部分:
- 海量数据存储和检索----- Elasticsearch 分布式存储和查询
- 可视化界面和图表生成----Kibana 可提供可视化界面和各种图表的生成。
- 数据采集-----可以用Logstash采集日志也可以使用FileBeat 采集日志。
文章图片
说明:
- 不知道你们有没有注意到,官网似乎已经有意在使用FileBeat 替换Logstash 采集日志了。
- Logstash 是由 Elastic 公司推出的一款开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送指定的存储库中。Logstash 官方介绍。
- Filebeat 是 Elastic 公司为解决 Logstash “太重” 的问题推出的一款轻量级日志采集器,在处理数量众多的服务器、虚拟机和容器生成的日志时可使用 Logstash + Filebeat 的日志采集方式。Filebeat 官方介绍。
服务器IP | 主机名 | 软件列表 |
---|---|---|
10.0.0.11 | node-1 | Elasticsearch、Kibana、Logstash、FileBeat |
10.0.0.12 | node-2 | Elasticsearch、Logstash、FileBeat |
10.0.0.13 | node-3 | Elasticsearch、Logstash、FileBeat |
- Elasticsearch,江湖人称ES,它是一个实时的分布式存储,搜索和分析引擎。
- ES 的官方下载地址: https://www.elastic.co/cn/dow...
- 下载方式二: 使用命令行下载
yum install curl;
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz;
#如果操作系统不支持curl命令也可以使用wget命令下载
yum install wget
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz;
这里使用的版本 |
---|
elasticsearch-7.16.1-linux-x86_64.tar.gz |
filebeat-7.16.1-linux-x86_64.tar.gz |
logstash-7.16.2-linux-x86_64.tar.gz |
kafka-3.0.0-src.tgz |
网盘链接:https://pan.baidu.com/s/1JL_l... |
---|
提取码:7777 |
文章图片
修改操作系统限制
在Centos7 Linux 操作系统中,默认单个进程可以打开的最多文件数是1024
但是ES 对操作系统有些特殊要求
- 要求操作系统单个进程可以打开的最大文件数最少要达到65535.
- 而且ES 将会使用很多线程,也需要修改下操作系统限制。
如果不配置就会报错如下所示:
bootstrap checks failed. You must address the points described in the following [3] lines before starting Elasticsearch.
bootstrap check failure [1] of [3]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
bootstrap check failure [2] of [3]: max number of threads [3687] for user [elasticsearch] is too low, increase to at least [4096]
bootstrap check failure [3] of [3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
检查当前操作系统支持单个进程可以打开的最多文件数,返回值如果没修改会显示1024
ulimit -n
要修复bootstrap check failure [1] of [3] 和bootstrap check failure [2] of [3]错误
修改配置文件
vi /etc/security/limits.conf
在最后面加入
*softnofile65535
*hardnofile65535
*hardnproc4096
*softnproc4096
- 设置限制数量,第一列表示用户,* 表示所有用户
- soft nproc :单个用户可用的最大进程数量(超过会警告);
- hard nproc:单个用户可用的最大进程数量(超过会报错);
- soft nofile :可打开的文件描述符的最大数(超过会警告);
- hard nofile :可打开的文件描述符的最大数(超过会报错);
原文链接:https://blog.csdn.net/zxljsbk... - 断开session 链接,重新登陆生效
vi /etc/sysctl.conf
#添加内容
vm.max_map_count=262144
- vm.max_map_count 配置确保操作系统拥有足够多的虚拟内存
- 如果使用的是包管理器方式安装,那么不需要这个操作,默认会进行配置。
#刷新配置立即生效,重启一下
sysctl -p
reboot