这个问题发生在更新ES版本的时候。
我之前部署的ES是5.5版本的,后来发生了一次被挖矿的经历之后,就下决心部署7.5版本ES到服务器上,替换掉5.5版本。
中间一些坑是之前5.5部署的时候就发现的,例如:
1.提示不能用root账号启动
2.jvm线程最大数限制,
解决方式:修改目录 。 vim /etc/sysctl.conf
添加vm.max_map_count = 262144
执行sysctl -p
但有意思的是 出现了一个新的坑,之前部署5.5的时候没有发现的。
ERROR: [1] bootstrap checks failed
[1]: 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
在启动的时候check配置文件发现,这三个参数不能全量为空。尝试改了一个配置启动发现真的没有问题了。
我的改动为:cluster.initial_master_nodes: ["node-1"]
然后去官网找原因:
默认情况下,当Elasticsearch首次启动时,它将尝试发现在同一主机上运行的其他节点。如果在几秒钟内找不到任何当选的主节点,则Elasticsearch将形成一个包含所有其他已发现节点的集群。无需在开发模式下进行任何额外配置即可构成此集群非常有用,但这不适用于生产环境,因为它有可能形成多个集群并因此丢失数据。