Elasticsearch перестает работать в кластере kubernetes

#docker #elasticsearch #kubernetes #master #resolve

#докер #эластичный поиск #kubernetes #мастер #разрешить

Вопрос:

У меня есть эластичный кластер в kubernetes. содержит 3 основных модуля, 2 модуля данных и 2 клиента. все работало нормально, пока я не установил его в среде, содержащей 6 узлов kubenrtes, 3 Master и 3 none. теперь я продолжаю получать эти ошибки для клиентских, информационных и основных журналов. пинг внутри модуля для elasticsearch-discovery работал нормально, в чем может быть проблема?

эластичный кластер отвечает : GET http://10.233.1.1:9200/_cluster/health

 {"cluster_name":"elasticsearch","status":"green","timed_out":false,"number_of_nodes":7,"number_of_data_nodes":2,"active_primary_shards":48,"active_shards":96,"relocating_shards":0,"initializing_shards":0,"unassigned_shards":0,"delayed_unassigned_shards":0,"number_of_pending_tasks":0,"number_of_in_flight_fetch":0,"task_max_waiting_in_queue_millis":0,"active_shards_percent_as_number":100.0}





2021-03-01T08:50:16,094][WARN ][o.e.d.z.UnicastZenPing   ] [elastic-search-data-00] failed to resolve host [elasticsearch-discovery]
java.net.UnknownHostException: elasticsearch-discovery: Name or service not known
        at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method) ~[?:?]
        at java.net.InetAddress$PlatformNameService.lookupAllHostAddr(InetAddress.java:929) ~[?:?]
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1515) ~[?:?]
        at java.net.InetAddress$NameServiceAddresses.get(InetAddress.java:848) ~[?:?]
        at java.net.InetAddress.getAllByName0(InetAddress.java:1505) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1364) ~[?:?]
        at java.net.InetAddress.getAllByName(InetAddress.java:1298) ~[?:?]
        at org.elasticsearch.transport.TcpTransport.parse(TcpTransport.java:550) ~[elasticsearch-6.6.0.jar:6.6.0]
        at org.elasticsearch.transport.TcpTransport.addressesFromString(TcpTransport.java:503) ~[elasticsearch-6.6.0.jar:6.6.0]
        at org.elasticsearch.transport.TransportService.addressesFromString(TransportService.java:738) ~[elasticsearch-6.6.0.jar:6.6.0]
        at org.elasticsearch.discovery.zen.UnicastZenPing.lambda$resolveHostsLists$0(UnicastZenPing.java:189) ~[elasticsearch-6.6.0.jar:6.6.0]
        at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:660) [elasticsearch-6.6.0.jar:6.6.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
        at java.lang.Thread.run(Thread.java:834) [?:?]
[2021-03-01T08:50:19,105][WARN ][o.e.d.z.ZenDiscovery     ] [elastic-search-data-00] not enough master nodes discovered during pinging (found [[]], but needed [2]), pinging again
 

elasticsearch.yml:

 cluster.name: elastic-search

node.data: ${NODE_DATA:true}
node.master: ${NODE_MASTER:true}
node.ingest: ${NODE_INGEST:true}
node.name: ${HOSTNAME}

network.host: 0.0.0.0
bootstrap.memory_lock: ${BOOTSTRAP_MEMORY_LOCK:false}

discovery:
  zen:
    ping.unicast.hosts: ${DISCOVERY_SERVICE:}
    minimum_master_nodes: ${MINIMUM_MASTER_NODES:2}

processors: ${PROCESSORS:}

# avoid split-brain w/ a minimum consensus of two masters plus a data node
gateway.expected_master_nodes: ${EXPECTED_MASTER_NODES:2}
gateway.expected_data_nodes: ${EXPECTED_DATA_NODES:1}
gateway.recover_after_time: ${RECOVER_AFTER_TIME:5m}
gateway.recover_after_master_nodes: ${RECOVER_AFTER_MASTER_NODES:2}
gateway.recover_after_data_nodes: ${RECOVER_AFTER_DATA_NODES:1}[


NAME                                                           READY   STATUS      RESTARTS   AGE
elastic-search-client-69886d7859-5qqn2                          1/1     Running     0          43h
elastic-search-client-69886d7859-tm2g2                          1/1     Running     0          43h
elastic-search-data-00                                           1/1     Running     0          22h
elastic-search-data-01                                           1/1     Running     0          22h
elastic-search-master-00                                         1/1     Running     0          22h
elastic-search-master-01                                         1/1     Running     0          22h
elastic-search-master-02                                         1/1     Running     0          22h
 

также протестируйте telnet на узле kubentes, и он работает нормально

Комментарии:

1. ваш главный узел недоступен или недоступен. возможно, все мастера не работают или DISCOVERY_SERVICE неверен.

2. мастер-модуль запущен, добавлено в описание, более того, ping для обнаружения действительно работает для меня внутри модуля