场景:
玩家A突然告诉我,通过dockerpose构建elasticsearch集群简单又方便。
于是,自己就照搬官网的构建文件https://www.elastic.co/guide/en/elasticsearch/reference/5.6/docker.html
,
3秒钟在腾讯云构建了一个2个节点的elastic集群(正常应该要有3个节点),方便至极兴奋的跳起来了。
问题:
打开浏览器验证集群:“网页无法正常访问”。
排查过程:
服务器中直接使用curl 127.0.0.1:9200
访问正常
查看防火墙,发现防火墙已关闭,排除防火墙原因
腾讯云嘛,经常玩的都懂,于是提工单,在腾讯云的帮助下,腾讯云工程师果断撇清腾讯云服务器
(事实证明人家真没有问题,但同时也暴露一个问题:防火墙关闭、安全组也打开了9200,腾讯云
工程师协助检查,发现9200依旧被过滤,无法访问)
反复启动多次容器,仔细查看日志
发现一条WARNING: IPv4 forwarding is disabled. Networking will not work.
直接粘贴“百度”发现了标准的解决方案
更改 /etc/sysctl.conf
中的 net.ipv4.ip_forward=1
,默认其实是0
.
更改后执行“systemctl restart network”,再次启动elasticsearch则可以通过外网访问!