2016-11-30 2 views
0

Я стараюсь изо всех сил пытаться создать кластер на одной машине с тремя эластичными поисковыми экземплярами. Я сделал следующие изменения на instanses:Эластичный поисковый кластер

  1. изменил имя кластера {cluster.name: ES-стека} на всех экземплярах
  2. имя изменено узлом {node.name: узел-1, node.name : node-2, node.name: node-3} во всех экземплярах
  3. изменен http-порт {http.port: 9203, http.port: 9202, http.port: 9201}
  4. изменил одноадресную рассылку ping {discovery.zen.ping.unicast.hosts: ["127.0.0.1:9201", "127.0.0.1:9202"]}

Elasticsearch.yml на случаях выглядит следующим образом:

# Instance 1 
cluster.name: es-stack 
node.name: node-1 
http.port: 9201 
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9202", "127.0.0.1:9203"] 

# Instance 2 
cluster.name: es-stack 
node.name: node-2 
http.port: 9202 
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9201", "127.0.0.1:9203"] 

# Instance 3 
cluster.name: es-stack 
node.name: node-3 
http.port: 9203 
discovery.zen.ping.unicast.hosts: ["127.0.0.1:9201", "127.0.0.1:9202"] 

После такой конфигурации, когда я пытаюсь запустить экземпляры, я не в состоянии получить кластерную среду. Трассировка ошибки в файле журнала при запуске упругими экземпляров поиска говорит:

[2016-11-30T23:25:59,320][INFO ][o.e.t.TransportService ] [node-2] publish_address {127.0.0.1:9301}, bound_addresses {[fe80::1]:9301}, {[::1]:9301}, {127.0.0.1:9301} 
[2016-11-30T23:26:02,493][WARN ][o.e.d.z.p.u.UnicastZenPing] [node-2] [1] failed send ping to {#zen_unicast_2#}{_V9wDP7mRBWfMT35KqH63w}{::1}{[::1]:9201} 
java.lang.IllegalStateException: handshake failed with {#zen_unicast_2#}{_V9wDP7mRBWfMT35KqH63w}{::1}{[::1]:9201} 
    at org.elasticsearch.transport.TransportService.handshake(TransportService.java:364) ~[elasticsearch-5.0.0.jar:5.0.0] 
    at org.elasticsearch.transport.TransportService.connectToNodeLightAndHandshake(TransportService.java:339) ~[elasticsearch-5.0.0.jar:5.0.0] 
    at org.elasticsearch.transport.TransportService.connectToNodeLightAndHandshake(TransportService.java:313) ~[elasticsearch-5.0.0.jar:5.0.0] 
    at org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing$2.run(UnicastZenPing.java:419) [elasticsearch-5.0.0.jar:5.0.0] 
    at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:444) [elasticsearch-5.0.0.jar:5.0.0] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111] 
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111] 
Caused by: org.elasticsearch.transport.ReceiveTimeoutTransportException: [][[::1]:9201][internal:transport/handshake] request_id [1] timed out after [3010ms] 
    at org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:840) ~[elasticsearch-5.0.0.jar:5.0.0] 
    ... 4 more 
[2016-11-30T23:26:02,493][WARN ][o.e.d.z.p.u.UnicastZenPing] [node-2] [1] failed send ping to {#zen_unicast_1#}{AZZtXAfATv2xSWaYo9hCWQ}{127.0.0.1}{127.0.0.1:9201} 
java.lang.IllegalStateException: handshake failed with {#zen_unicast_1#}{AZZtXAfATv2xSWaYo9hCWQ}{127.0.0.1}{127.0.0.1:9201} 
    at org.elasticsearch.transport.TransportService.handshake(TransportService.java:364) ~[elasticsearch-5.0.0.jar:5.0.0] 
    at org.elasticsearch.transport.TransportService.connectToNodeLightAndHandshake(TransportService.java:339) ~[elasticsearch-5.0.0.jar:5.0.0] 
    at org.elasticsearch.transport.TransportService.connectToNodeLightAndHandshake(TransportService.java:313) ~[elasticsearch-5.0.0.jar:5.0.0] 
    at org.elasticsearch.discovery.zen.ping.unicast.UnicastZenPing$2.run(UnicastZenPing.java:419) [elasticsearch-5.0.0.jar:5.0.0] 
    at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:444) [elasticsearch-5.0.0.jar:5.0.0] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_111] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_111] 
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111] 
Caused by: org.elasticsearch.transport.ReceiveTimeoutTransportException: [][127.0.0.1:9201][internal:transport/handshake] request_id [2] timed out after [3009ms] 
    at org.elasticsearch.transport.TransportService$TimeoutHandler.run(TransportService.java:840) ~[elasticsearch-5.0.0.jar:5.0.0] 
    ... 4 more 
[2016-11-30T23:26:02,527][INFO ][o.e.c.s.ClusterService ] [node-2] new_master {node-2}{nx5b5yr6TWqxznjXv62wEA}{JC3v2euLRSerB4T7GL0Fyg}{127.0.0.1}{127.0.0.1:9301}, reason: zen-disco-elected-as-master ([0] nodes joined) 
[2016-11-30T23:26:02,588][INFO ][o.e.h.HttpServer   ] [node-2] publish_address {127.0.0.1:9202}, bound_addresses {[fe80::1]:9202}, {[::1]:9202}, {127.0.0.1:9202} 
[2016-11-30T23:26:02,588][INFO ][o.e.n.Node    ] [node-2] started 
[2016-11-30T23:26:02,605][INFO ][o.e.g.GatewayService  ] [node-2] recovered [0] indices into cluster_state 

Я не в состоянии определить, какую часть я пропустил? Как получить все экземпляры для одного кластера?

+0

вы можете вставлять трассировку файла журнала для каждого экземпляра при запуске каждого экземпляра – user3775217

+0

Я добавил журнал ошибок из экземпляра в самом вопросе. –

ответ

2

discovery.zen.ping.unicast.hosts принимает массив host:port, и здесь порт представляет transport.tcp.port, а не http.port. Так что ваши настройки должны выглядеть следующим образом:

discovery.zen.ping.unicast.hosts: ["127.0.0.1:9302", "127.0.0.1:9303"] 
//note: 9202 became 9302 and so on 

Вы можете прочитать больше об этой настройке here.

Надеюсь, это поможет!

+0

Это сработало. Благодаря! http-порт предназначен для подключения к эластичному поиску через HTTP. Для связи между экземплярами эластичный поиск использует транспортный порт tcp. –

+0

Да :) Действительно !! – avr

Смежные вопросы