我有一个在库伯内特斯(EKS)上运行的ES集群。我正试图让发现工作。
我已验证我在9200,9300上的pod之间具有网络访问权限(在集群上运行Calico。已验证策略允许9200,9300)
我想实施发现,我想知道我是否错过了什么。
我们更喜欢避免单播,因为这是一个库伯内特斯集群。
此处供参考的是配置:
elasticsearch. yml
cluster.name: <CLUSTER_NAME>
node.name: "${MY_POD_NAME}"
node.master: true
node.data: true
bootstrap.mlockall: false
discovery.zen.ping.multicast.enabled: true
indices.memory.index_buffer_size: 30%
indices.cache.filter.size: 20%
indices.fielddata.cache.size: 20%
index.translog.flush_threshold_ops: 8192
threadpool.bulk.queue_size: 1546
http.max_initial_line_length: 16K
script.engine.groovy.inline.aggs: off
script.engine.groovy.inline.search: off
index.number_of_replicas: 1
threadpool.search.queue_size: 10000
index.number_of_shards: 3
threadpool.bulk.queue_size: 10000
对于Elasticsearch v7,发现. zen。*
不再使用。相反,请使用以下设置:
elasticsearch. yml:
cluster.initial_master_nodes: es-cluster-0,es-cluster-1,es-cluster-2 # node name with master roles
discovery.seed_hosts: es-cluster # k8s headless service that point to all pods/nodes