一. Cenos7搭建ElasticSearch集群环境并配置Kibana
1. 配置java环境
Centos系统安装成功后需要先卸载自带的jdk8
参考:https://www.cnblogs.com/happyflyingpig/p/8068020.html
一键配置脚本包:http://ovenguo.oss-cn-beijing.aliyuncs.com/file/centos7removejdk8.sh
使用以下命令查找jdk包
1 | rpm -qa|grep java |
卸载已安装的jdk
1 | rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64 |
验证是否还有jdk
1 | rpm -qa|grep java |
ES7.5版本要求jdk最低版本为jdk11,所以从Oracle官网下载JDK11,并上传到/opt
文件夹,使用tar -xvf jdk-11.0.5_linux-x64_bin.tar
,然后重命名为jdk:mv jdk-11.0.5_linux-x64_bin jdk
.
配置Java环境变量,在/etc/profile
增加配置:
1 | export JAVA_HOME=/opt/jdk |
增加配置后保存关闭,执行source /etc/profile
,测试jdk是否配置成功java -version
,出现如下界面证明配置成功:
2.增加用户组和用户
在官网上下载es和kibana 7.5
将es和kibana上传到服务器的/opt
目录,并解压
因为ElasticSearch不允许root账户启动,所以需要创建es专用账户
1 | useradd es #创建es账户 |
使用root账户登录,将elasticsearch文件夹分配给es账户,否则不能启动es
chown -R es:es elasticsearch-7.5.0
3. 修改es配置
在/config/elasticsearch.yml
增加如下配置
1 | cluster.name: elasticsearch-cluster #集群名称 |
其中10.123.101.197
是本机ip,其他两台机器分别改成本机ip就可以,discovery.zen.ping.unicast.hosts:
是整个集群所有节点ip+端口号.
注:9200为http端口,9300位tcp端口,http端口使用来外部通讯的,tcp端口是用来jar之间的通信,ES集群是使用9300来进行通讯
4. ES启动常见报错
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
切换到root用户,修改/etc/security/limits.conf
文件,增加以下配置,重新登录后启用新配置:
1 | * soft nofile 65536 |
[2]: max number of threads [3818] for user [es] is too low, increase to at least [4096]
此报错代表最大线程个数太低
切换到root用户,修改/etc/security/limits.conf
文件,增加以下配置,重新登录后启用新配置:
1 | * soft nproc 4096 |
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改/etc/sysctl.conf
文件,增加配置vm.max_map_count=262144
,执行sysctl -p
使之生效
5. ES启动
进入es文件夹,执行./bin/elasticsearch
来启动ES,出现如下界面表示启动成功:
此时,我们访问10.123.101.197:9200,可以出现:
证明此ES节点启动成功。
6. ES集群启动
在其他机器上重复执行上述步骤,将其他机器的ES分别启动
es-node2:
es-node3:
证明其他两个ES节点启动成功,访问
如果出现两个主节点,此为ES的脑裂,将所有节点关闭,并删除$ES_HOME下的data文件后,重启节点将恢复正常:
7. 破解白金永久权限
破解补助参考:https://www.cnblogs.com/sanduzxcvbnm/p/12000979.html
关闭所有集群,将破解文件x-pack-core-7.5.0.jar替换到ES目录下./moudles/x-pack-core/
下,将原有包替换。
启动所有节点,访问http://10.123.101.197:9200
后弹出登录框,进入es-node01
节点的elasticsearch目录,执行下行指令:
1 | ./bin/elasticsearch-setup-passwords interactive |
以配置Elastic Stack密码,并记住密码,如下图
8. 配置Kibana
将下载好的kibana压缩包上传到master节点下的/opt目录,解压缩后修改所有权为es用户
1 | scp kibana-7.5.0-linux-x86_64.tar.gz root@centos01:/opt |
切换到es用户,修改./config/kibana.yml
,增加如下配置(此处es密码为上一步所配置的密码):
1 | i18n.locale: "zh-CN" |
保存后,启动kibana, ./bin/kibana
显示Server running at http://0:5601
后,访问http://ip:5601
证明Kibana启动成功,然后访问Stack Monitor
证明ES监控启动成功。