LINUX.ORG.RU
ФорумAdmin

Primary shard is not active Timeout: [1m]

 ,


0

2

Привет. Подскажите почему так происходит? У нас есть три сервера, все три мастера, но мы пишем только на одном сервере A. Когда сервер B отключен, кластер распадается и сервер A и сервер C:

server_a:9200 : blocked by: [SERVICE_UNAVAILABLE/2/no master];
and
server_a:9200 : primary shard is not active Timeout: [1m]

Затем решили проверить и отключили сервер C, и та-же ситуация, кластер развалился, сервер А и сервер В не отвечают. Почему это происходит?

Конфигурация:

"version" : "5.6.4"

Server A:
node.master: true
node.data: true
node.ingest: false
discovery.zen.ping.unicast.hosts: ["B", "C"]
discovery.zen.minimum_master_nodes: 2

Server B
node.master: true
node.data: true
node.ingest: false
discovery.zen.ping.unicast.hosts: ["C", "A"]
discovery.zen.minimum_master_nodes: 2

Server C
node.master: true
node.data: true
node.ingest: false
discovery.zen.ping.unicast.hosts: ["A", "B"]
discovery.zen.minimum_master_nodes: 2


Ответ на: комментарий от shty

Поясните где смеяться? Суть была в том, чтобы в случае отключения одного из серверов, другие продолжали работу. Мастер-мастер вполне рабочая конфигурация. Почитайте документацию.

clgs
() автор топика

А, например, /_cluster/reroute в такой ситуации не помогает?

stave ★★★★★
()

Вроде так быть не должно. Может в unicast.host надо самого себя тоже прописать? Покажи логи старта ноды в момент когда сосед лежит.

maxcom ★★★★★
()
Ответ на: комментарий от maxcom

Лог с одной из ноды которая осталась работать в кластере.

[2018-09-13T12:12:11,690][DEBUG][o.e.a.a.c.s.TransportClusterStateAction] [hUfTRaQ] no known master node, scheduling a retry
[2018-09-13T12:12:15,677][DEBUG][o.e.a.a.c.s.TransportClusterStateAction] [hUfTRaQ] no known master node, scheduling a retry
[2018-09-13T12:12:30,654][WARN ][o.e.c.NodeConnectionsService] [hUfTRaQ] failed to connect to node {cQYxfLm}{cQYxfLm0RbmfIeBJG8GTWw}{tJ-3U15gTfe8qUUhRHY8Hg}{192.XXX.XXX.XXX}{192.XXX.XXX.XXX:9300} (tried [1] times)
org.elasticsearch.transport.ConnectTransportException: [cQYxfLm][192.XXX.XXX.XXX:9300] connect_timeout[30s]
  at org.elasticsearch.transport.netty4.Netty4Transport.connectToChannels(Netty4Transport.java:362) ~[?:?]
  at org.elasticsearch.transport.TcpTransport.openConnection(TcpTransport.java:570) ~[elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.transport.TcpTransport.connectToNode(TcpTransport.java:473) ~[elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.transport.TransportService.connectToNode(TransportService.java:342) ~[elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.transport.TransportService.connectToNode(TransportService.java:329) ~[elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.cluster.NodeConnectionsService.validateAndConnectIfNeeded(NodeConnectionsService.java:154) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.cluster.NodeConnectionsService$ConnectionChecker.doRun(NodeConnectionsService.java:183) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:638) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-5.6.4.jar:5.6.4]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171]
  at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: 192.XXX.XXX.XXX/192.XXX.XXX.XXX:9300
  at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:267) ~[?:?]
  at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38) ~[?:?]
  at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:120) ~[?:?]
  at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163) ~[?:?]
  at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:403) ~[?:?]
  at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:462) ~[?:?]
  at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858) ~[?:?]
  ... 1 more
[2018-09-13T12:12:41,691][DEBUG][o.e.a.a.c.s.TransportClusterStateAction] [hUfTRaQ] timed out while retrying [cluster:monitor/state] after failure (timeout [30s])
[2018-09-13T12:12:41,691][WARN ][r.suppressed             ] path: /_cat/indices, params: {v=}
org.elasticsearch.discovery.MasterNotDiscoveredException: null
  at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction$4.onTimeout(TransportMasterNodeAction.java:209) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.cluster.ClusterStateObserver$ContextPreservingListener.onTimeout(ClusterStateObserver.java:311) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onTimeout(ClusterStateObserver.java:238) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.cluster.service.ClusterService$NotifyTimeout.run(ClusterService.java:1056) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:569) [elasticsearch-5.6.4.jar:5.6.4]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171]
  at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
[2018-09-13T12:12:45,677][DEBUG][o.e.a.a.c.s.TransportClusterStateAction] [hUfTRaQ] timed out while retrying [cluster:monitor/state] after failure (timeout [30s])
[2018-09-13T12:12:45,678][WARN ][r.suppressed             ] path: /_cat/indices, params: {v=}
org.elasticsearch.discovery.MasterNotDiscoveredException: null
  at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction$4.onTimeout(TransportMasterNodeAction.java:209) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.cluster.ClusterStateObserver$ContextPreservingListener.onTimeout(ClusterStateObserver.java:311) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onTimeout(ClusterStateObserver.java:238) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.cluster.service.ClusterService$NotifyTimeout.run(ClusterService.java:1056) [elasticsearch-5.6.4.jar:5.6.4]
  at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:569) [elasticsearch-5.6.4.jar:5.6.4]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171]
  at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]

clgs
() автор топика
Ответ на: комментарий от clgs

discovery.zen.ping.unicast.hosts: [«C», «A»]
discovery.zen.minimum_master_nodes: 2

Если загасил ноду С - соответственно нода B(например) видит только ноду А
В правиле написано - что кластер минимум из 2-х нод, а видит одну. Соотв все разваливается
Перечисли в каждом конф файле
discovery.zen.ping.unicast.hosts: [«C», «A»,«B»]

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.