ELK的安装配置

一、ES简介

ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。
特点是:高可用,高扩展,是一种NOSQL的数据存储工具

二、ES安装前的准备(elk安装包版本要求一致)

ELK安装前环境配置 下载:
elasticsearch-6.2.2.tar.gz
elasticsearch-head-master.zip
kibana-6.2.2-linux-x86_64.tar.gz
logstash-6.2.2.tar.gz
node-v8.9.1-linux-x64.tar.gz
jdk-8u221-linux-x64.tar
ELK安装包下载
链接:https://pan.baidu.com/s/1bQNXlzjvBx5YDr3JFInvUw
提取码:olnx

三、ELK的安装

1.把下载好的安装包,拖拽到/software目录中
2.输入:yum install -y unzip 下载解压缩工具
3.输入:cd /software 进入安装包目录,输入ll可以查看目录中的文件
4.输入:tar -zxvf elasticsearch-6.2.2.tar.gz -C /opt
5.输入:tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz -C/opt
6.输入:tar -zxvf logstash-6.2.2.tar.gz -C /opt
7.输入:tar -zxvf node-v8.9.1-linux-x64.tar.gz -C/opt
8. 输入 :tar -zxvf jdk-8u221-linux-x64.tar.gz -C/opt/
9.输入:unzip elasticsearch-head-master.zip
10.输入 mv elasticsearch-head-master /opt/eshead 把解压的文件夹移动并改名
11.输入:rm -rf * useradd es cd /opt
12.输入:mv kibana-6.2.2-linux-x86_64/ kibana622
13.输入:mv logstash-6.2.2/ logstash622
14.输入:mv node-v8.9.1-linux-x64/ node891
15. 输入: mv elasticsearch-6.2.2/ es622
16. 输入:mv jdk1.8.0_221/ java8

四、ES的配置

1.输入:vi /etc/hostname 修改主机名

bigdata01

2.输入:vi /etc/hosts 修改主机列表

192.168.56.111 bigdata01
192.168.56.112 bigdata02
192.168.56.113 bigdata03

示例:

ELK 源码部署 elk安装配置_jar

3.配置es的参数

(1)输入:vi /opt/es622/config/elasticsearch.yml ,按shift+g,快速定位到尾行,按o在下一行插入以下内容:

cluster.name : bigdata --集群名

node.name : master --节点名

node.master : true --是否是主节点

network.host : 192.168.56.111 --本机地址

discovery.zen.ping.unicast.hosts : [“192.168.56.111”] --同上

http.cors.enable : true

http.cors.allow-origin : “*”

ELK 源码部署 elk安装配置_JAVA_02


保存退出

4.配置系统参数

(1)输入: vi /etc/sysctl.conf 插入内容:vm.max_map_count=655360

ELK 源码部署 elk安装配置_vim_03


最好首次也要使用以下命令刷新 sysctl -w vm.max_map_count=655360

(2)输入:vi /etc/security/limits.conf 插入内容:

* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096

ELK 源码部署 elk安装配置_vim_04


退出并输入vi /etc/profile,添加下面代码

export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL
export JAVA_HOME=/opt/java8
export JRE_HOME=/opt/java8/jre
export CLASSPATH=.:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export NODE_HOME=/opt/node891
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$NODE_HOME/bin

ELK 源码部署 elk安装配置_vim_05


source /etc/profile

5.修改es622目录的属组(es不能使用root启动) chown -R es:es es622

6.输入:cd /opt/ su es 切换到普通用户

7.在/opt目录下输入:./es622/bin/elasticsearch

底部出现 started即是启动成功

8.在windows界面打开网页,输入http://192.168.56.110:9200/,可以正常出页面,切有节点的信息,即是启动成功

五、Head-master及node的配置

1.输入:vi /etc/profile 按shift+g定位到底部,然后按o在下一行插入以下内容:

export JAVA_HOME=/opt/java8
 export JRE_HOME=/opt/java8/jre
 export CLASSPATH=.:JAVA_HOME/lib/tools.jar:

ELK 源码部署 elk安装配置_linux_06PATH:ELK 源码部署 elk安装配置_vim_07JRE_HOME/bin:ELK 源码部署 elk安装配置_jar_08NODE_HOME/bin)

2.输入:source /etc/profile 激活配置文件,输入node -v 可以查看是否配置成功

3.输入: cd /opt/ cd eshead/

4.输入:npm install -g grunt-cli --等待的时间比较长,要有点耐心

5.输入:npm install 出错时需要输入:

npm install phantomjs-prebuilt@2.1.14 --ignore-scripts

6.输入:vi Gruntfile.js,在以下位置高亮位置增加一行代码:hostname: ‘*’,(:set nu–显示行数)

ELK 源码部署 elk安装配置_vim_09


7.输入:vi _site/app.js,找到如下代码(4360行),并进行修改:

this.base_uri =this.config.base_uri ||this.prefs.get(“app-base_uri”) || “http://localhost:9200”;
 修改成为:
 this.base_uri =this.config.base_uri ||this.prefs.get(“app-base_uri”) || “http://192.168.56.111:9200”;

ELK 源码部署 elk安装配置_jar_10


8.输入:npm run start 启动head-master

9.在windows界面,打开网页,输入:http://192.168.56.110:9100/

六、使用Head-master对ES进行测试

1.点击索引页签,点击新建索引
2.点击总览页签,即可查看索引的情况

七、kibana安装,配置和实例

1.输入:cd /opt/kibana622/

2.输入:vi config/kibana.yml 按shift+g跳转到行末,按o增加以下内容:

server.host: “192.168.56.111”
 elasticsearch.url: “http://192.168.56.111:9200”

ELK 源码部署 elk安装配置_linux_11


3.输入:./bin/kibana 运行kibana

4.在windows界面打开网页,输入http://192.168.56.111:5601/

5.实例:

ELK 源码部署 elk安装配置_linux_12

八、logstash实例

1.输入:cd /opt/logstash622/
 进入logstash的安装目录
 2.输入: ./bin/logstash -e ‘input{ stdin{} } output{ stdout{} }’
 来测试logstash是否正常工作
 3.输入:./bin/logstash -e ‘input{ stdin{} } output{ stdout{ codec => json } }’
 把控制台输入的数据转换成json格式的数据,也可以替换成rubydebug类型的
 ./bin/logstash -e ‘input{ stdin{} } output{ stdout{ codec => rubydebug } }’
 4../bin/logstash -e ‘input{ stdin{} } output{ stdout{ codec => rubydebug } elasticsearch{ hosts => [“192.168.56.111:9200”]} }’
 把控制台输入的数据转换成rubydebug类型的数据,同时上传到es服务器,可以在对应192.168.56.110:9100的页面进行查看
 5.使用logstash读取文件
 mkdir tmp
 Vi tmp/test.txt
 vi tmp/logstash.conf
 input{
 stdin{}
 }
 output{
 stdout{
 }
 ./bin/logstash -f tmp/logstash.conf
 vi tmp/logstash.conf
 input{
 file{
 path => “/opt/logstash622/tmp/test.txt”
 start_position => “beginning”
 sincedb_path => “/dev/null”
 }
 }
 output{
 stdout{
 codec => rubydebug
 }
 elasticsearch{
 hosts => [“192.168.56.121:9200”]
 }
 }
 ./bin/logstash -f tmp/logstash.conf