我正在尝试在我们的一台远程服务器上配置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}
任何帮助将不胜感激。
答案 0 :(得分:3)
从 ES7 开始,它对我有用:
sudo nano /etc/elasticsearch/elasticsearch.yml
取消注释 node.name
行
将 network.host
改为 0.0.0.0
,discovery.seed.hosts
改为 [“127.0.0.1”]
,cluster.initial_master_nodes
改为 [“node-1”]
完成后,退出 nano,然后输入 :ctrl-x,
输入 yes
sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service
sudo /bin/systemctl restart elasticsearch.service
答案 1 :(得分:0)
从ES-7开始,在.yml文件中添加以下配置
cluster.initial_master_nodes : <IP_or_DNS_of_master_node>