尝试在远程服务器上配置弹性搜索时出现“ master_not_discovered_exception”

时间:2019-06-27 12:07:19

标签: elasticsearch configuration remote-access

我正在尝试在我们的一台远程服务器上配置Elastic Search。我已经用.msi设置文件(v7.1.1)安装了它,并为9200和9300端口配置了防火墙。

当我将network.publish_host设置为服务器IP时,它给了我这个错误the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured。然后,我进行了一些研究,并将cluster.initial_master_nodes设置为名为“ ElasticSearchNode”的单个节点。现在该服务正在运行,但是当我检查群集运行状况时,它显示“ master_not_discovered_exception”。

我当前的yml文件如下:

bootstrap.memory_lock: false
cluster.name: elasticsearch
http.port: 9200
node.data: true
node.ingest: true
node.master: true
node.max_local_storage_nodes: 1
node.name: ElasticSearchNode
path.data: C:\ProgramData\Elastic\Elasticsearch\data
path.logs: C:\ProgramData\Elastic\Elasticsearch\logs
transport.tcp.port: 9300
xpack.license.self_generated.type: basic
xpack.security.enabled: false
network.host: 0.0.0.0
network.publish_host: x.x.x.x
cluster.initial_master_nodes: ElasticSearchNode
discovery.zen.minimum_master_nodes: 1

我请求/ _cat / health?v

时的响应
{"error":{"root_cause":[{"type":"master_not_discovered_exception","reason":null}],"type":"master_not_discovered_exception","reason":null},"status":503}

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

从 ES7 开始,它对我有用:

  1. sudo nano /etc/elasticsearch/elasticsearch.yml

  2. 取消注释 node.name

  3. network.host 改为 0.0.0.0discovery.seed.hosts 改为 [“127.0.0.1”]cluster.initial_master_nodes 改为 [“node-1”]

  4. 完成后,退出 nano,然后输入 :ctrl-x, 输入 yes

  5. sudo /bin/systemctl daemon-reload

  6. sudo /bin/systemctl enable elasticsearch.service

  7. sudo /bin/systemctl restart elasticsearch.service

答案 1 :(得分:0)

从ES-7开始,在.yml文件中添加以下配置

cluster.initial_master_nodes : <IP_or_DNS_of_master_node>