Docker在多机器上搭建ES集群,各节点无法互通问题

1.检查ES的network.*配置

network.bind_host值可以设置为0.0.0.0(表示监听所有网卡)或宿主机Ip(如果设为宿主机Ip则不能通过localhost或127.0.0.1即回环地址进行访问es),我这里设置为0.0.0.0。
network.publish_host表示ES的发布地址,该项地址作为ES节点内部或集群交互地址。建议设置为宿主机地址

2.按上面配置了,但是各节点不能形成集群,每个节点都作为master节点?

本人在使用容器搭建集群时一开始就将ES的data目录挂载到宿主机的目录上,且一开始的network.host没有配置,没有配置的情况下默认使用本地地址,跨机器的节点无法相互发现。而我每次启动容器都是将宿主机的data目录映射到ES的目录上,导致了即使修改了network配置也形成不了集群。调试了差不多一天,终于在日志中发现问题所在:集群的version都升到50几了,而我每次都是修改配置后重新制作容器,正常的话version应该是1才对。想到容器每次启动指定了data目录,赶紧先把data目录清空,再按上述配置network,搞定。

  • 10
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值