2016-08-01 83 views
0

我有两台计算机A(192.168.0.224)和B(192.168.0.123),每台计算机上都有一个ES服务器。基于B如何在不同的计算机上运行elasticsearch服务器?

cluster.name: elasticssearch 
node.name: node-1 

network.host: 0.0.0.0 


discovery.zen.ping.unicast.hosts: 192.168.0.224:9200,192.168.0.123:9200 


index.analysis.analyzer.default.type: ik 

script.engine.groovy.inline.update: on 
script.engine.groovy.inline.search: on 

index.mapper.dynamic : false 

配置文件elasticsearch.yml:在一个配置文件elasticsearch.yml

cluster.name: elasticssearch 
node.name: node-2 

network.host: 0.0.0.0 


discovery.zen.ping.unicast.hosts: 192.168.0.224:9200,192.168.0.123:9200 


index.analysis.analyzer.default.type: ik 

script.engine.groovy.inline.update: on 
script.engine.groovy.inline.search: on 

index.mapper.dynamic : false 

我开始ES服务器并且得到错误信息:

[2016-08-01 10:05:42,683][WARN ][discovery.zen.ping.unicast] [node-2] failed to send ping to [{#zen_unicast_2#}{192.168.0.224}{192.168.0.224:9200}] 
ReceiveTimeoutTransportException[[][192.168.0.224:9200][internal:discovery/zen/unicast] request_id [1] timed out after [3750ms]] 
    at org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:679) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

如何运行在不同的elasticsearch服务器电脑是否正确?

回答

2

discovery.zen.ping.unicast.hosts住所需要一个轻微的调整,即你需要指定的TCP端口(默认为9300),而不是HTTP端口9200:

discovery.zen.ping.unicast.hosts: 192.168.0.224:9300,192.168.0.123:9300 

您也可以省略端口,以便它采取默认的TCP端口( 9300),您不必担心:

discovery.zen.ping.unicast.hosts: 192.168.0.224,192.168.0.123 
+0

谢谢您再次帮助我!尊重您! –

+0

很高兴帮助! – Val

+0

如果想要将第三台机器C(192.168.0.173)添加到群集,则需要再次更新配置文件:discovery.zen.ping.unicast.hosts:192.168.0.224,192.168.0.123,192.168.0.173.I想知道是否有办法来实现,如果一台新机器没有更新配置文件添加? –

相关问题