我使用三台服务器来验证Elasticsearch的集群功能。这是我服务器的关键信息之一:
服务器的公共ip地址为115.159.157.163。但是当启动elasticsearch时,它的日志显示它限制到一个私有地址
[2017-02-18T10:36:14,491][INFO ][o.e.t.TransportService ]
[qiang_server] publish_address {10.105.197.255:9300}, bound_addresses {10.105.197.255:9300}然后,当我尝试使用另一台服务器连接到此服务器时,它显示:
[2017-02-18T11:31:05,664][WARN ][o.e.d.z.ZenDiscovery ]
[dbc_server] failed to connect to master
[{qiang_server}{GYT635GNSaqOpBdQK4ZcGg}{O1sDFagITmWFnXRBf-uweA}{10.105.197.255}{10.105.197.255:9300}], retrying...
org.elasticsearch.transport.ConnectTransportException: [qiang_server][10.105.197.255:9300] connect_timeout[30s]此服务器的关键配置如下:
如果我试图向Server1发送HTTP请求,它可以响应。
现在我的问题是:为什么server2可以到达server1并获得它的私有地址:10.105.197.255和它的节点名: qiang_server,但仍然无法连接到server1?
我知道10.105.197.255是一个私人地址,但是server2找到了server1,为什么他们仍然不能连接在一起?
以下是我的一些尝试,但都失败了:很明显,10.105.197.255是一个私人地址,我尝试过其他一些关于network.host的秘密信息,比如
发布于 2017-02-18 10:56:55
请确认您正在使用NAT作为公共IP地址。如果是,则不支持您的设置。
核实:
ip a如果您没有在列出的接口上看到您的公共IP地址,那么您正在使用NAT。这就是为什么您的network.host: 115.159.157.163无法绑定。
如果您使用像AWS这样的云提供程序,您应该根据云提供程序设置VPC或其他什么,并使elasticsearch绑定到其他节点可以访问的私有ip地址,从而形成集群。然后将弹性ip(Public )绑定到主机以进行外部HTTP访问。
https://stackoverflow.com/questions/42311418
复制相似问题