ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

注意事项:

1.ELK版本要求5.X以上,本人使用版本:elasticsearch-6.0.0、kibana-6.0.0-linux-x86_64、logstash-6.0.0.tar

2.Elasticsearch5.x版本必须基于jdk1.8,安装环境必须使用jdk1.8

3.本人使用linux操作系统的centos6.5版本作为测试环境,其他环境命令有差异,请注意

4.本教程适合完全离线安装

5.ELK及jdk安装包下载路径:https://pan.baidu.com/s/1KAPtSt4b2kbv0u2WbQElQw 密码:087c

一、在服务器系统上准备好安装包

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

可通过xshell上传安装包到服务器:

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

二、安装jdk1.8

2.1 创建安装目录:

sudo mkdir /usr/lib/jvm

2.2 解压jdk压缩包

tar jdk-8u151-linux-x64.tar.gz -C /usr/local/jvm/

2.3 配置环境变量

进入配置文件:vim ~/.bashrc,在文档最后追加一下内容

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151
export JRE_HOME=/usr/lib/jvm/jdk1.8.0_151/jre
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

然后按esc键,输入:wq,保存退出, 由于安装路径不同,路径需要作相应更改。

2.4 将环境变量刷新到缓存

刷新到缓存source ~/.bashrc,然后执行java -version查看是否配置成功。

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

三、安装Logstash

3.1 新建elk文件夹

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

3.2解压logstash到elk文件夹中

sudo tar xvzf installPackage/logstash-6.0.0.tar.gz -C elk/

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

3.3创建Logstash测试启动配置文件

在logstash文件夹的config文件夹下面创建test.conf文件,并输入一下内容: #输入

#输入
input{}
#过滤
filter{}
#输出
output{}

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

3.4切换到root用户启动Logstash

./bin/logstash -f config/test.conf

可能会报错:

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

我们发现在root用户的bashrc文件中没有我们配置好的jdk,重新在root用户下配置一下jdk环境变量,并重新启动Logstash:

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

上图表示启动成功。

四、安装elasticsearch

4.1 解压elasticsearch到elk文件夹中

tar xvzf installPackage/logstash-6.0.0.tar.gz -C elk/

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

4.2. 修改ES配置文件:

vim config/elasticsearch.yml

(elasticsearch.yml中的配置冒号前没有空格,冒号后一个空格,不然有可能报错)

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

4.3 启动elasticsearch

启动elasticsearch必须使用非root且没有sudo权限的用户启动,所以这里要新建一个普通用户并切换用户启动

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

专门为es创建个账号,然后再将这个文件夹切换到新建的这个用户下,然后用这个用户启动。 
创建用户组和用户命令如下

groupadd elasticsearch
useradd elasticsearch -g elasticsearch -p elasticsearch

账号创建完了,更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch 
输入命令:

chown -R elasticsearch: /usr/local/elk/elasticsearch-6.0.0/

切换到elasticsearch文件夹下面:

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

使用elasticsearch用户启动  ./bin/elasticsearch

4.4 启动遇到的问题

主要下面四个错误:

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

切换到root用户,编辑limits.conf 添加类似如下内容

vi /etc/security/limits.conf

添加如下内容:

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

[2]: max number of threads [1024] for user [elasticsearch] is too low, increase to at least [4096]

切换到root用户,编辑90-nproc.conf 修改类似如下内容

*          soft    nproc     4096

[3]max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

切换到root用户修改配置sysctl.conf

vi /etc/sysctl.conf

添加下面配置:

vm.max_map_count=655360

并执行命令:

sysctl –p

[4]: ERROR: bootstrap checks failed
system call filters failed to install; check the
logs and fix your configuration or disable system call filters at your own risk

问题原因:因为Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

解决方法:在elasticsearch.yml中配置bootstrap.system_call_filter为false,注意要在Memory下面:

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

修改完错误之后切换到elasticsearch用户重新启动:

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

发现启动成功。

4.5 启动成功验证

执行:curl 192.168.209.131:9200,结果如下图则启动成功

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

或者在浏览器方访问192.168.209.131:9200

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

五、安装kibana

5.1 解压kibana到elk文件夹中

直接切换为root用户操作:

tar xvzf installPackage/kibana-6.0.0-linux-x86_64.tar.gz -C elk/

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

5.2 修改kibana配置文件

vim config/kibana.yml

修改配置:

server.host: "localhost"
elasticsearch.url: "http://localhost:9200"

其中,localhost以实际ip地址为准

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

5.3 启动kibana

./bin/kibana

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

5.4 启动验证

浏览器访问192.168.209.131:5601

ELK学习记录二 :elasticsearch、logstash及kibana的安装与配置

表示启动成功。

到此ELK安装完成!

上一篇:ELK学习005:Kibana 安装与运行


下一篇:[8.1] Triple Step