You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

两台EC2机器通过Docker部署3节点Elasticsearch集群连接失败问题

跨EC2主机Docker部署ES集群9300端口连接拒绝排查点
  • ES网络绑定配置错误
    检查每个节点的network.bind_host、network.publish_host参数:
    • 禁止绑定到127.0.0.1或容器内部虚拟网段,可设置为0.0.0.0允许所有地址访问
    • network.publish_host必须显式配置为当前EC2节点的内网IP(即你提到的10.2.0.x段地址),否则ES会默认广播容器内部虚拟IP,其他主机的节点无法连通
  • Docker端口绑定配置错误
    检查docker compose中ES服务的ports配置,确保9300端口映射格式为9300:9300,如果配置为127.0.0.1:9300:9300,端口只会绑定到宿主机回环地址,其他主机无法访问
    可在宿主机执行ss -tulnp | grep 9300确认端口绑定地址为0.0.0.0或EC2内网IP
  • 集群发现配置错误
    检查discovery.seed_hosts配置,所有节点的该参数必须填写集群所有节点对应的EC2内网IP+transport端口,禁止填写容器内部IP或127.0.0.1
  • 同主机多节点端口冲突
    单台EC2运行多个ES节点时,需为不同节点配置不同的transport.port(例如9300、9301),同时在docker compose中映射到宿主机不同端口,避免端口占用导致ES进程启动失败、端口未实际监听
  • 宿主机内核参数不满足要求
    ES要求宿主机vm.max_map_count参数值不小于262144,参数不符合会导致ES启动失败、9300端口未监听,执行sysctl vm.max_map_count可查看当前值,执行sysctl -w vm.max_map_count=262144可临时生效,写入/etc/sysctl.conf可永久生效

内容的提问来源于stack exchange,提问作者VitalyT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:27:01