docker安装elasticsearch一直启动不成功, bootstrap checks failed成功解决

docker 安装elasticsearch镜像,制作容器

docker pull elasticsearch-7.9.3
docker run -di --name=tensquare_es -p 9200:9200 -p 9300:9300 elasticsearch:7.9.3

  • 查看容器是否成功,然后启动

docker ps -a
docker start 14fd7ef73b99

  • 再次查看发现 没有成功启动

#执行进入容器命令
docker exec -it 30a29a905ebb /bin/bash

在这里插入图片描述

  • 发现容器没有成功启动

#查看容器日志
docker logs --since 30m 14fd7ef73b99

在这里插入图片描述

发现报错了,一查原来这是由于elasticsearch默认分配jvm空间大小为1g-2g,内存不足以分配导致。

解决方法就是修改jvm空间分配

找到jvm.options配置文件
find /var/lib/docker/overlay/ -name jvm.options

在这里插入图片描述

  • vi进入jvm.options

在这里插入图片描述

图示部分修改为

-Xms512m
-Xmx512m

2)启动报错:
ERROR: [2] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2] the default discovery settin:gs are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured在这里插入图片描述
原因:官方的elasticsearch缺少配置,需要配置两处地方

  • 修改max_map_count大小

sysctl -w vm.max_map_count=262144

限制一个进程可以拥有的VMA(虚拟内存区域)数量

  • 查看max_map_count,确保修改成功

sysctl -a|grep vm.max_map_count

  • 修改:/etc/security/limits.conf 在文档尾追加
  • soft nofile 65536
  • hard nofile 65536

nofile 是单个进程允许打开的最大文件个数
soft nofile 是软限制 hard nofile 是硬限制

  • 跳转目录

cd /var/lib/docker/overlay2/

  • 找到elasticsearch.yml配置文件

find . -name “elasticsearch.yml”

  • vi进入配置文件,在配置文件中增加两行配置

bootstrap.system_call_filter: false
cluster.initial_master_nodes: [“node-1”]

然后Esc 保存:wq! 退出!重新启动就OK了!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值