【CentOs7/Elasticsearch7.11.0】ES双机各一实例(一主一从)安装手顺

【前篇】

 【CentOs7/Elasticsearch7.11.0】ES单机双实例(一主一从)安装手顺

 请在了解了上述两篇再来尝试此篇,还有一些系统设置,jvm.options设置也在上面两篇表述。

另外为了简便起见,请使用命令#systemctl stop firewalld关闭两机的防火墙。

【目标】

在两个虚拟机上各建立一个ES节点组成一主一从的集群。

【难点】

在同一台机器上的节点只有集群名cluster.name相同会自动组成集群。

当集群的节点运行在不同的机器上时,在单播模式下,我们需要为ES配置一些它应该去尝试连接的节点列表。

以上两句文字来自牛冬编著的《Elasticsearch实战与原理解析》,电子工业出版社出版,P65页。本文的灵感也是从此页获得。

用自己的话说,当节点在不同机器上时,node真不知怎么去找别的节点,你得写明告诉它怎么找,这个配置就是:

discovery.zen.ping.unicast.hosts: ["192.168.X.y:9300",......]

【实现目标】

在主机上敲入 http://192.168.245.128:9200/_cat/nodes?v ,能出现

ip              heap.percent ram.percent cpu load_1m load_5m load_15m node.role  master name
192.168.245.128           28          93  29    2.75    3.19     2.44 cdhilmrstw *      node-1
192.168.245.129           20          93  11    0.71    0.90     0.64 cdhilrstw  -      node-2

这样的文字。

有些同学把两个独立节点分别运行起来了,然后去分别访问各自的9200端口,就宣称集群建成!岂不谬哉?

【主从配置】

  主机 从机
IP 192.168.245.128 192.168.245.129
节点名 node-1 node-2
配置

cluster.name: twins

node.name: node-1

network.host: 0.0.0.0

http.port: 9200

cluster.initial_master_nodes: ["node-1"]

 

 cluster.name: twins

node.name: node-2
node.master: false

network.host: 0.0.0.0

http.port: 9200

cluster.initial_master_nodes: ["node-1"]
discovery.zen.ping.unicast.hosts: ["192.168.245.128:9300"]

 

说明

主节点的master就是自己,所以写node-1就行;

单机多实例会知道去和本机的9300端口通讯,

询问是否是cluster.initial_master_nodes里指出的master节点,

所以也没问题。

不同ip时,

discovery.zen.ping.unicast.hosts列表里的机器端口会被访问,询问是否

cluster.initial_master_nodes里指出的master节点,是的话就成了。

 上面红色一句是从节点找到主节点的关键所在。

【结果】

 

END

 

PS:附上

http://192.168.245.128:9200/_cat/nodes?v 和 http://192.168.245.129:9200/_cat/nodes?v 的结果:

2022年2月24日19点53分

posted @   逆火狂飙  阅读(418)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2020-02-23 通过股票K线图来谈谈真正的技术和现实的技术
生当作人杰 死亦为鬼雄 至今思项羽 不肯过江东
点击右上角即可分享
微信分享提示