ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。
特点:高可用,高扩展,是一种NOSQL的数据存储工具
此处用的是:
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
原因:后面须通过这个配置环境变量等等
1.把下载好的安装包,在根目录下新建一个software,命令行:mkdir software ,将下载好的东西拖拽到software目录中
2.因为Linux是最小化安装,没有解压包需要先通过yum下载安装解压包:命令行:yum -y install unzip 下载解压缩工具
3.输入:cd /software 进入安装包目录,输入ll可以查看目录中的文件
4.将压缩包解压到opt目录下,命令行:
1)tar -zxvf elasticsearch-6.2.2.tar.gz -C /opt
2)tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz -C /opt
3)tar -zxvf logstash-6.2.2.tar.gz -C /opt
4)tar -zxvf node-v8.9.1-linux-x64.tar.gz -C /opt
5.解压zip文件:unzip elasticsearch-head-master.zip
6.将文件移动到opt目录下,并重命名: mv elasticsearch-head-master /opt/eshead
7.输入:cd /opt 查看
8.重命名:
1)mv kibana-6.2.2-linux-x86_64/ kibana
2)mv logstash-6.2.2/ logstash
3)mv node-v8.9.1-linux-x64/ node891
4)mv jdk1.8.0_221/ java8
5)mv elasticsearch-6.2.2/ es622
ps:jdk 安装之后同步配置文件:命令行:vi /etc/profile,具体操作参考:https://blog.csdn.net/little_sloth/article/details/106807228 (注意:此处将java包重命名了,配置变量是须同步变更)
1.输入:vi /etc/hostname 修改主机名
删除原有内容,自己重新取个名字
2.输入:vi /etc/hosts 修改主机列表----此处是在后面增加,原文件中的东西保留
ps:192.168.56.106是安装虚拟机时配置的ip地址,后面两个没有配置过,实际ip根据自己使用的虚拟机的ip地址来配置
3.配置es的参数
(1)输入:vi /opt/es622/config/elasticsearch.yml,按shift+g,快速定位到尾行,按o在下一行插入以下内容:
cluster.name : bigdata --集群名,此处用的bigdata
node.name : bigdata-master --节点名
node.master : true --是否是主节点
network.host : 192.168.56.106 --本机地址
discovery.zen.ping.unicast.hosts : [“192.168.56.106”] --同上
http.cors.enabled : true
http.cors.allow-origin : “*”
ps:注意:与两边是由空格的,所有字符为英文状态下的字符
4.配置系统参数
(1)输入:vi /etc/sysctl.conf
插入内容:vm.max_map_count=655360
ps: 最好首次也要使用以下命令刷新 sysctl -w vm.max_map_count=655360
ps:成功界面
(2)输入:vi /etc/security/limits.conf
插入内容:
5.创建用户 :useradd es
修改es622目录的属组(es不能使用root启动)
命令行:chown -R es:eses622
6.输入:su es切换到普通用户
7.在/opt目录下输入:./es622/bin/elasticsearch
成功界面
8.在windows界面打开网页,输入http://192.168.56.106:9200/,可以正常出页面,切有节点的信息,即是启动成功
1.输入:vi /etc/profile 按shift+g定位到底部,然后按o在下一行插入以下内容:(JAVA_HOME、JRE_HOME、NODE_HOME后面为放置的路径,根据自己的路径填写)
ps:因为上面将jdk1.8.0_221改名为java8,这边需要同步改名,node891也是因为重命名过,需要根你的实际包名一致
同时须注意第五行的path等于的内容,每个人可能不一样,可在opt目录下通过命令语句 echo $PATH获得等于号后面的内容
export JAVA_HOME=/opt/java8
export JRE_HOME=$JAVA_HOME/jre
export NODE_HOME=/opt/node891
export CLASSPATH=.:$JAVA_HOME/rt.jar:$JAVA_HOME/tools.jar:$JAVA_HOME/dt.jar
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
如果之前已经配置过jdk环境变量,只需增加:
export NODE_HOME=/opt/node891
export PATH=$PATH:$NODE_HOME/bin (如之前在java配置过PATH变量则在原先的尾部增加 :$NODE_HOME/bin)
2.输入:source /etc/profile 激活配置文件,输入node -v 可以查看是否配置成功
3.输入:cd /opt/eshead
4.输入:npm install -g grunt-cli --等待的时间比较长,要有点耐心
ps:如果报下面的错,安装就换成npm install grunt --save-dev
5.输入:npm install 出错时需要输入:npm install [email protected] --ignore-scripts (比前面少一些功能,影响不大)
6.输入:vi Gruntfile.js,在以下位置高亮位置增加一行代码:hostname: ‘*’,
7.输入:vi _site/app.js,找到如下代码,并进行修改:将locallhost换成本机ip地址(查看模式下4360gg快速找到)
8.输入:npm run start 启动head-master
9.在windows界面,打开网页,输入:http://192.168.56.106:9100/
ps:此处应该是连接的,没有连接的原因是 普通用户的elasticsearch被关闭了
解决办法:进入普通用户的opt下,执行命令 ./es622/bin/elasticsearch 执行成功之后就可以连接成功
1.输入:cd /opt/kibana
2.输入:vi config/kibana.yml 按shift+g跳转到行末,按o增加以下内容:
server.host: “192.168.56.110”
elasticsearch.url:“http://192.168.56.106:9200”
ps:ip地址根据实际操作的ip地址填写
3.输入:./bin/kibana 运行kibana
4.在windows界面打开网页,输入http://192.168.56.110:5601/
成功界面
到这边就基本配置就完成啦~~
ps:logstash要使用时直接调用就行(前面已经解压并且重命名过)
1.输入:cd /opt/logstash622 进入logstash的安装目录
2. 在目录下新建一个tmp文件夹,新建文档test.txt
3.输入: ./bin/logstash -e ‘input{ stdin{} } output{ stdout{} }’ 来测试logstash是否正常工作,下图为成功的截图
4.输入:./bin/logstash -e ‘input{ stdin{} } output{ stdout{ codec => json } }’ 把控制台输入的数据转换成json格式的数据,也可以替换成rubydebug类型的(./bin/logstash -e ‘input{ stdin{} } output{ stdout{ codec => rubydebug } }’)
5.输入 ./bin/logstash -e ‘input{ stdin{} } output{ stdout{ codec => rubydebug} elasticsearch{ hosts => [“192.168.56.111:9200”] }}’ 把控制台输入的数据转换成rubydebug类型的数据,同时上传到es服务器,可以在对应192.168.56.111:9100的页面进行查看
5.使用logstash读取文件
1)logstash622目录tmp文件下新建logstash.conf
2)vi tmp/logstash.conf进入文件配置
ps:如果连接不上,检查es用户下elsaticsearch有没有开启,root用户下kibana有没有开启;变量配置:大小写、空格等等有没有错误