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
(1)先创建虚拟机 创建ssh链接(可以看上一篇博客) 连接成功后在跟目录下创建一个文件夹 可以是software
进入software文件夹 把以上安装包 和jdk安装包(上一篇博客) 拖入software目录下:
先解压jdk 因为后面会使用,输入:tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/
新开一个窗口(方便起见)
在opt目录下对这些解压后的文件重新命名
mv jdk1.8.0_221/ java8
vi /etc/profile 配置jdk (详情请看上一篇博客)
export JAVA_HOME=/opt/java8
export CLASSPATH=.: J A V A H O M E / l i b / r t . j a r : JAVA_HOME/lib/rt.jar: JAVAHOME/lib/rt.jar:JAVA_HOME/lib/tools.jar: J A V A H O M E / l i b / d t . j a r e x p o r t J R E H O M E = JAVA_HOME/lib/dt.jar export JRE_HOME= JAVAHOME/lib/dt.jarexportJREHOME=JAVA_HOME/jre
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin:$JRE_HOME/bin
完成jdk的解压配置
开始对其他几个文件解压:
解压elasticsearch-head-master.zip
yum install -y unzip
unzip elasticsearch-head-master.zip
mv elasticsearch-head-master /opt/
解压elasticsearch-6.2.2.tar.gz
tar -zxvf elasticsearch-6.2.2.tar.gz -C /opt
解压kibana-6.2.2-linux-x86_64.tar.gz
tar -zxvf kibana-6.2.2-linux-x86_64.tar.gz -C /opt
解压logstash-6.2.2.tar.gz
tar -zxvf logstash-6.2.2.tar.gz -C /opt
解压node-v8.9.1-linux-x64.tar.gz
tar -zxvf node-v8.9.1-linux-x64.tar.gz -C /opt
ps:-C /opt 把解压后的文件都移动到opt目录下
在opt目录下对这些解压后的文件重新命名(也可以不)
mv elasticsearch-head-master eshm
mv kibana-6.2.2-linux-x86_64/ kibana622
mv logstash-6.2.2/ logstash622
mv node-v8.9.1-linux-x64/ node891
新开一个窗口
useradd es (创建普通用户es)
接下来修改 es的配置
vi /etc/hostname 修改主机名 随便取 能和下面的主机列表对应就好
vi /etc/hosts 修改主机列表
第一个是本主机 第二个、三个是集群主机
vi /opt/es622/config/elasticsearch.yml
按shift+g,快速定位到尾行,按o在下一行插入以下内容:
cluster.name : test --集群名
node.name : test-master --节点名
node.master : true --是否是主节点
network.host : 192.168.56.110 --本机地址
discovery.zen.ping.unicast.hosts : [“192.168.56.110”] --同上
http.cors.enabled : true
http.cors.allow-origin : “*”
进入系统配置文件:vi /etc/sysctl.conf
插入内容:vm.max_map_count=655360
最好首次也要使用以下命令刷新
sysctl -w vm.max_map_count=655360
进入系统配置文件:vi /etc/security/limits.conf
插入内容:
重新配置jdk的profile文件
输入:vi /etc/profile 按shift+g定位到底部,然后按o在下一行插入以下内容:
export NODE_HOME=/opt/node891
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
export PATH= P A T H : PATH: PATH:NODE_HOME/bin:$NODE_HOME/bin
输入:source /etc/profile 激活配置文件,
输入node -v 可以查看是否配置成功 显示版本v版本则是配置成功。
输入:cd /opt/eshm
输入:npm install -g grunt-cli --等待的时间比较长,
完成后输入npm install
npm config set registry https://registry.npm.taobao.org
如果实在太慢可以使用这个加速 在进行 npm install
若以上步骤出错时需要输入:
npm install [email protected] --ignore-scripts
输入:vi Gruntfile.js
在以下位置高亮位置增加一行代码:hostname: ‘*’,
输入:vi _site/app.js,找到如下代码,并进行修改:
快速查找修改代码处:查看模式下输入4360gg
箭头所指的地方改为自己主机的地址
输入:npm run start 启动head-master
在windows界面,打开网页,输入http://192.168.56.120:9100/
输入:cd /opt/kibana622
输入:vi config/kibana.yml
按shift+g跳转到行末,按o增加以下内容: 下面的是自己虚拟机的地址
server.host: “192.168.56.120”
elasticsearch.url: “http://192.168.56.120:9200”
输入:./bin/kibana 运行kibana
在windows界面打开网页,输入http://192.168.56.120:5601/
logstash是一种实时的数据传输通道
传输方式是: 数据源(data base)+{input + filter + output} (logstash)+ elasticsearch
一般应用于ELK中 (elasticsearch +logstash+kibana)
进入logstash的安装目录
cd /opt/logstash622
来测试logstash是否正常工作
下面语句代表:立即执行,使用命令行里的配置参数启动实例
./bin/logstash -e ‘input { stdin{} } output { stdout{} }’
如下图所示。可知测试成功,我们可以通过控制台输入启动实例
把控制台输入的数据转换成json格式的数据,也可以替换成rubydebug类型的
./bin/logstash -e ‘input { stdin{} } output { stdout{ codec => json } }’
把控制台输入的数据转换成rubydebug类型的数据,
同时可以把控制台输入的数据上传到es服务器,可以在对应192.168.56.110:9100的页面进行查看
./bin/logstash -e ‘input { stdin{} } output { stdout{ codec => json} elasticsearch { hosts => [“192.168.56.110:9200”] } }’
可以在任何目录下先创建一个文件
5.使用logstash读取文件
可以设置这个文件的内容 如下格式
./bin/logstash -f demo.conf
小编这里设置的数据源文件是testt.txt
通道是logstash.conf 具体如上图所示
demo.conf 的内容代码格式如下:
input{
file{
path => “/opt/logstash622/test/demo.txt”
start_position => “beginning”
sincedb_path => “/dev/null”
}
}
filter{
ruby{
code => “event.timestamp.time.localtime”
}
}
output{
stdout{
codec => rubydebug
}
elasticsearch{
hosts => [“192.168.56.110:9200”]
}
}