Centos7 安装ELK/EFK 7.x 集群搭建实战

环境准备

虽然官网说ES 7.12 支持JDK8,但是实际测试发现,ES 7.12 开始至少需要JDK11 以上版本。

  • 因此我们的服务器最好使用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 采集日志。

ELK 不过是Elastic Stack 用法中日志分析栈的一部分

Centos7 安装ELK/EFK 7.x 集群搭建实战_第1张图片

说明:

  • 不知道你们有没有注意到,官网似乎已经有意在使用FileBeat 替换Logstash 采集日志了。
  • Logstash 是由 Elastic 公司推出的一款开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送指定的存储库中。Logstash 官方介绍。
  • Filebeat 是 Elastic 公司为解决 Logstash “太重” 的问题推出的一款轻量级日志采集器,在处理数量众多的服务器、虚拟机和容器生成的日志时可使用 Logstash + Filebeat 的日志采集方式。Filebeat 官方介绍。

安装ELK/EFK

服务器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

  • Elasticsearch,江湖人称ES,它是一个实时的分布式存储,搜索和分析引擎。

下载和解压

  1. ES 的官方下载地址: https://www.elastic.co/cn/dow...
  2. 下载方式二: 使用命令行下载
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 安装ELK/EFK 7.x 集群搭建实战_第2张图片

修改操作系统限制

在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

在最后面加入

*               soft    nofile          65535
*               hard    nofile          65535
*               hard    nproc           4096
*               soft    nproc           4096
  • 设置限制数量,第一列表示用户,* 表示所有用户
  • soft nproc :单个用户可用的最大进程数量(超过会警告);
  • hard nproc:单个用户可用的最大进程数量(超过会报错);
  • soft nofile :可打开的文件描述符的最大数(超过会警告);
  • hard nofile :可打开的文件描述符的最大数(超过会报错);
    原文链接:https://blog.csdn.net/zxljsbk...
  • 断开session 链接,重新登陆生效

要修复bootstrap check failure [3] of [3] 错误,需要修改/etc/sysctl.conf

vi /etc/sysctl.conf
#添加内容
vm.max_map_count=262144
  • vm.max_map_count 配置确保操作系统拥有足够多的虚拟内存
  • 如果使用的是包管理器方式安装,那么不需要这个操作,默认会进行配置。
#刷新配置立即生效,重启一下
sysctl -p
reboot

你可能感兴趣的:(服务器elk)