docker安装elasticsearch的坑,ERROR: [1] bootstrap checks failed [1]: the default discovery setting are...

情况一

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

解决方案:

1.找到elasticsearch.yml文件

find / -name elasticsearch.yml

2.往yml文件中添加下面的配置
node.name: node-1
cluster.initial_master_nodes: [“node-1”]

情况二

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方案:

1.切换到root用户执行命令:

sysctl -w vm.max_map_count=262144

2.查看结果:

sysctl -a|grep vm.max_map_count

显示:

vm.max_map_count = 262144
  1. 上述方法修改之后,如果重启虚拟机将失效,解决办法:
    在 /etc/sysctl.conf文件最后添加一行
    vm.max_map_count=262144
    即可永久修改

欢迎扫码入群交流
在这里插入图片描述

### 解决方案 Elasticsearch 启动失败的原因可能是由于 `vm.max_map_count` 设置过低引起的。以下是具体的解决方案: #### 修改系统参数 为了提高虚拟内存区域的数量限制,可以通过修改 Linux 的内核参数来解决问题。执行以下命令以临时调整该值: ```bash sysctl -w vm.max_map_count=262144 ``` 如果希望永久生效,则需要编辑 `/etc/sysctl.conf` 文件并添加或更新以下内容: ```text vm.max_map_count=262144 ``` 保存文件后,通过以下命令使更改立即生效: ```bash sysctl -p ``` 此操作可以满足 Elasticsearch 对于虚拟内存的要求[^1]。 --- #### 验证配置是否成功 在完成上述步骤之后,验证当前系统的 `vm.max_map_count` 值是否已正确设置: ```bash cat /proc/sys/vm/max_map_count ``` 返回的结果应为 `262144` 或更高数值。如果没有达到预期值,请重新检查之前的配置过程。 --- #### Docker 环境下的额外注意事项 当使用 Docker 运行 Elasticsearch 时,还需要确保容器内的 `vm.max_map_count` 参数被正确传递给宿主机。可以在启动容器时加入以下选项: ```bash docker run -e "discovery.type=single-node" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ --ulimit nofile=65536:65536 \ --ulimit memlock=-1:-1 \ --sysctl vm.max_map_count=262144 \ -p 9200:9200 \ -p 9300:9300 \ docker.elastic.co/elasticsearch/elasticsearch:7.10.0 ``` 这里的关键部分是 `--sysctl vm.max_map_count=262144` 和其他资源限制的相关参数[^3]。 --- #### 日志排查 即使完成了以上配置,仍需关注 Elasticsearch 的日志输出,确认是否存在其他潜在问题。通常情况下,日志路径位于 `${ES_HOME}/logs/` 下。如果有进一步错误提示,可以根据具体情况逐一解决。 --- #### 总结 通过对操作系统层面的 `vm.max_map_count` 调整以及 Docker 容器环境中的适配,能够有效解决因虚拟内存不足而导致的 Elasticsearch 启动异常问题。同时建议定期优化服务器资源配置,避免类似情况再次发生。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值