elasticsearch(集群)从虚拟机安装到elk的使用(二)
一.安装包的下载下载地址https://www.elastic.co/cn/downloads/past-releases搜索elasticsearch6.8.1 /kibana6.8.1/logstash6.8.1/filebeat6.8.1 ,我们要准备elasticsearch-stack,所以其他三个软件都要下载下来,我们使用统一的版本,版本不同会有版本兼容问题你懂得.我下载...
一.安装包的下载
下载地址 https://www.elastic.co/cn/downloads/past-releases
搜索elasticsearch6.8.1 /kibana6.8.1/logstash6.8.1/filebeat6.8.1 ,我们要准备elasticsearch-stack,所以其他三个软件都要下载下来,我们使用统一的版本,版本不同会有版本兼容问题你懂得.
我下载的路径是usr/src/local/src
在/usr/src/local下继续创建几个文件夹备用 /es , /kibana, /logstash ,filebeat
二.elasticsearch的安装
进入 /usr/src/local/src 解压,并修改elasticsearch-6.8.1 为elasticsearch
tar -zxvf elasticsearch-6.8.1-linux.tar.gz -C /usr/src/local/es
进入elasticsearch的config目录下,修改elasticsearch.yml
vi /usr/src/local/es/elasticsearch/config/elasticsearch.yml
找到NetWork,将network.host前面的#去掉,elasticsearch的默认端口为9200不用修改,注意,如果手动配置,冒号后面要加空格
此为临时修改,为了让所有人访问.将network.host修改为 0.0.0.0,搭建集群的时候这个要改成ip
修改内存大小
vi /etc/sysctl.conf
添加 vm.max_map_count=262144,并且执行
sysctl -p
修改存储大小参数
vi /etc/security/limits.conf
添加下面的参数
* soft nofile 65536
* hard nofile 65536
重新切换用户生效.
es的启动需要单独创建用户
groupadd elsearch
useradd elsearch -g elsearch -p elsearch
chown -R elsearch:elsearch /usr/src/local/es
chmod 777 /usr/src/local/es
su elsearch
切换用户elsearch,进入 elasticsearch 的bin目录下执行 ./elasticsearch
如果日志中显示started,没有ERROR标志的错误,说明启动成功
关闭防火墙(systemctl stop firewalld),然后在浏览器中访问192.168.80.129:9200 ,或者 curl 192.168.80.129:9200
如下所示启动成功
三.elasticsearch集群的搭建
进入到es目录下,解压3份elasticsearch安装包,分别改名es-master,es-slave1,es-slave2
修改es-master/config下的elasticsearch.yml 作为主节点
主节点配置如下
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: kainan
node.name: master
node.master: true
network.host: 192.168.80.129
子节点1配置
cluster.name: kainan
node.name: slave1
network.host: 192.168.80.129
http.port: 8200
discovery.zen.ping.unicast.hosts: ["192.168.80.129"]
子节点2配置
cluster.name: kainan
node.name: slave2
network.host: 192.168.80.129
http.port: 7200
discovery.zen.ping.unicast.hosts: ["192.168.80.129"]
如果想继续增加节点,依次类推,需要注意的是,主节点的端口默认是9200,其他节点需要重新配置端口,还有network.host不能存在多个,要么就注掉,否则报错.
同样,给这三个文件夹权限 chown +chmod命令省略
切换elsearch用户.先启动master,再启动slave1,slave2
./elasticsearch -d 可以后台运行
四.elasticsearch-head 插件的安装
插件的功能就是让es的操作更加方便操作人性化,首先,插件是建立在nodejs上的所以要先装nodejs.
1.nodejs的安装
http://nodejs.cn/download/ 下载linux 的node安装包
上传到服务器,解压nodejs安装包到/usr/src/local/nodejs/下
然后执行下面两句
ln -s /usr/src/local/nodejs/nodejs/bin/node /usr/local/bin/node
ln -s /usr/src/local/nodejs/nodejs/bin/npm /usr/local/bin/npm
这两句是让node的node文件夹和npm文件夹链接到用户的执行目录下
然后在/etc/profile 中的PATH中增加如下
PATH=$PATH:$JAVA_HOME/bin:/usr/local/bin:/usr/local/bin:/usr/src/local/nodejs/nodejs/bin/
source /etc/profile
然后执行node -v 查看node版本
2.elasticsearch-head插件的安装
下载地址: https://github.com/mobz/elasticsearch-head
上传项目到/usr/src/local/es/下,解压项目,如果没有unzip命令执行下面命令
yum list | grep zip/unzip
yum install zip
#提示输入时,请输入y;
yum install unzip
#提示输入时,请输入y;
解压elasticsearch-head-master
unzip elasticsearch-head-master.zip
移动项目到/usr/local/
mv elasticsearch-head-master.zip /usr/src/local/
进入到解压目录,执行 npm install (需要联网)
然后执行
npm run start
出现上图所示,在浏览器访问 ip+9100
如下
黄色的地方是集群的健康值,绿色,黄色和红色
搜索框下面是索引名称
带星号的是主节点,后面的方块带数字的是索引的分片,粗线框是主分片,在插件中可以预览索引,预览数据,基本查询和聚合查询
五.elasticsearch常见的异常及处理办法
1.异常情况:
[2019-07-31T09:14:59,656][ERROR][o.e.b.Bootstrap ] [2Nx25n0] node validation exception
[3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3795] for user [elsearch] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
原因:内存不足
解决办法:
修改 /etc/security/limits.conf,最后一行加上
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
vm.max_map_count=655360
执行sysctl -p
2.异常:IllegalStateException
解决办法:
找到/elasticsearch安装包下的/data
rm -rf nodes
3.异常:
[2018-08-07T11:35:38,130][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-001] uncaught exception in thread [main]
原因:elasticsearch不支持root用户登录
解决办法:需要新增用户(组),并赋予修改elasticsearch安装文件夹的权限
4.异常:
main ERROR RollingFileManager (/usr/local/software/elasticsearch-5.5.2/logs/elasticsearch.log)
java.io.FileNotFoundException: /usr/local/software/elasticsearch-5.5.2/logs/elasticsearch.log
(Permission denied) java.io.FileNotFoundException: /usr/local/software/elasticsearch-5.5.2/logs/elasticsearch.log (Permission denied)
原因:权限不足
解决办法:
用户权限不足,切换root用户,chown -R 用户名:用户组 /文件夹
Chmod 777 /文件夹
5.异常:
ElasticsearchUncaughtExceptionHandler
原因:端口占用
解决办法:使用命令jps,查看elasticsearch进程,然后kill -9 进程号
6.异常:
JsonParseException[Duplicate field 'network.host'
原因:首先可能是你的配置文件elasticsearch.yml格式可能有问题,比如冒号后面要有空格,前面不能有空格等;第二个就是没有log4j2的包,要去下载安装:
解决办法:查看格式,下载log4j* [root@node2 ~]# yum install -y log4j*
7.访问插件的时候会出现一个分片副本未分配的情况(UNASSIGNED)
原因:这个是磁盘使用率超过80%的缘故
如下,我虚拟机是装在D盘的.解决办法,预留多余的空间
下一节介绍kibana的安装和使用
更多推荐
所有评论(0)