准备搭建elastic集群,用的是elastic8.7.0的版本。网上搜安装教程时发现,网上的教程有的比较老,有的是和自己的安装方式不同。结果在安装时碰到了不少问题,记录一下自己的安装过程。
准备了两台centos服务器,ip分别为192.168.0.1、192.168.0.2,先分别上传elasticsearch-8.7.0安装包到服务器上。
1、解压安装包 elasticsearch-8.7.0-linux-x86_64.tar.gz
2、由于elastic的不能用root用户启动,所以需要创建elk用户组和用户 groupadd elk、useradd elk
3、在elasticsearch/bin目录下启动安装elasticsearch,执行命令/bin/elasticsearch,安装成功后出现以下界面:
4、修改config下的.yml配置文件
# 集群名称
cluster.name:my-application
# 节点名称
node.name: node-1
# 集群初始化主节点,用于第一次集群选主
cluster.initial_master_nodes: ["node-1","node-2"]
# 允许其他节点加入
transport.host: 192.168.0.1
# 集群发现配置
discovery.seed_hosts: ["173.16.200.43:9300", "173.16.200.72:9300"]
配置文件修改完后,启动./elasticsearch,可以看到elasticsearch成功启动
5、在192.168.0.1服务器上,使用命令 /bin/elasticsearch-create-enrollment-token -s node生成节点加入使用的token
6、解压192.168.0.2服务器上的压缩包,解压完成后,使用命令*bin/elasticsearch --enrollment-token xxxx(节点1生成token),执行命令发现有报错:
failed: remote cluster name [my-application] does not match local cluster name [elasticsearch]
at org.elasticsearch.server@8.7.0/org.elasticsearch.transport.TransportService.lambda$handshake$6(TransportService.java:547)
at org.elasticsearch.server@8.7.0/org.elasticsearch.action.ActionListener$DelegatingFailureActionListener.onResponse(ActionListener.java:250)
at org.elasticsearch.server@8.7.0/org.elasticsearch.action.ActionListenerResponseHandler.handleResponse(ActionListenerResponseHandler.java:43)
at org.elasticsearch.server@8.7.0/org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleResponse(TransportService.java:1367)
at org.elasticsearch.server@8.7.0/org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleResponse(TransportService.java:1367)
See logs for more details.
根据报错提示,我们需要更改下配置文件重新启动下试试,根据node-1节点一的配置文件修改node-2的配置文件,然后重新启动,节点2被重新启动成功。
7、浏览执行:https://ip:9200/_cat/nodes?v,结果如下图:
则说明集群搭建成功,下面就可以配置其他的软件了。