ELK——ELK+filebeat+kafka部署——(1)部署ELK

部署ELK

这里我们首选把ELK的环境搭建好。一步一步去搭建服务。

上传软件包:Elasticsearch 、Logstash 、 Kibana和JDK

安装jdk1.8

由于ELK 的3个软件都需要JDK支持,所以只要安装Elasticsearch + Logstash + Kibana的服务器都要装JDK,jdk版本至少1.8

解压jdk

[root@elk01 ~]# tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local/

配置JDK环境变量

[root@elk01 ~]# vim /etc/profile  #在文件最后加入下面的内容

JAVA_HOME=/usr/local/jdk1.8.0_171 
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar 
export PATH JAVA_HOME CLASSPATH

[root@elk01 ~]# source /etc/profile   #使环境变量生效

查看java环境

[root@elk01 ~]# java -version

安装Elasticsearch

我们这里开始安装Elasticsearch,这里做实验配置用的是Elasticsearch单节点部署,生产环境中应该部署Elasticsearch集群,保证高可用。

解压软件包

[root@elk01 ~]# tar -zxvf elasticsearch-7.3.0-linux-x86_64.tar.gz -C /usr/local/

创建用户

源码包安装Elasticsearch不能用root启动,需要新建一个用户来启动ElasticSearch,这里创建普通用户elk

[root@elk01 ~]# useradd elk

给文件授权

[root@elk01 ~]# chown -R elk:elk /usr/local/elasticsearch-7.3.0/

设置内核参数

修改系统参数,确保系统有足够资源启动ES

[root@elk01 ~]# vim /etc/sysctl.conf

vm.max_map_count=655360

执行以下命令,确保生效配置生效:

[root@elk01 ~]# sysctl -p

注:

vm.max_map_count这个参数就是允许一个进程在VMA(Virtual Memory Areas,虚拟内存区域)拥有最大数量,虚拟内存区域是一个连续的虚拟地址空间区域。在进程的生命周期中,每当程序尝试在内存中映射文件,链接到共享内存段,或者分配堆空间的时候,这些区域将被创建。调优这个值将限制进程可拥有VMA的数量,当达到vm.max_map_count了就是返回out of memory errors。
这个数据通过下面的命令可以查看: cat /proc/sys/vm/max_map_count

可以通过命令cat /proc/{pids}/maps |wc -l来监控,当前进程使用到的vm映射数量

设置资源参数

[root@elk01 ~]# vim /etc/security/limits.conf   #在文件最后添加以下行

# 表示任何一个用户可以打开的最大的文件数量
* soft nofile 65536
* hard nofile 65536
# 表示任何一个用户可以打开的最大的进程数
* soft nproc 65536
* hard nproc 65536

切换到elk用户

使用普通用户去启动elasticsearch,这是软件强制规定的。

[root@elk01 ~]# su - elk

[elk@elk01 ~]$ cd /usr/local/elasticsearch-7.3.0/

Elasticsearch主配置文件

[elk@elk01 elasticsearch-7.3.0]$ vim config/elasticsearch.yml

#如果是集群修改如下配置,集群是通过cluster.name自动在9300端口上寻找节点信息的。
cluster.name: my-application   #集群名称,同一个集群的标识
node.name: node-1          #节点名称

path.data: /data/elk/data    #数据存储位置
path.logs: /data/elk/logs     #日志文件的路径
#如果系统为centos6.x操作系统,不支持SecComp,而elasticsearch默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
# 

你可能感兴趣的:(elasticsearch)