#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 для обнаружения действительно работает для меня внутри модуля