docker安装es报错

本文主要讨论了在Docker中安装Elasticsearch时遇到的三个问题:1)日志权限错误;2)Java堆内存不足;3)vm.max_map_count过低。提供了相应的修改权限、调整JVM堆内存和提升系统配置的解决方案。
摘要由CSDN通过智能技术生成

docker安装es报错:

问题描述

[0.001s][error][logging] Error opening log file ‘logs/gc.log’:
Permission denied [0.001s][error][logging] Initialization of output
‘file=logs/gc.log’ using options ‘filecount=32,filesize=64m’ failed.
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was
deprecated in version 9.0 and will likely be removed in a future
release. Invalid -Xlog option
‘-Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m’,
see error log for details. Error: Could not create the Java Virtual
Machine.

解决方案:

是因为挂载权限的目录问题
1、修改挂载目录的所有者为es

chown -R es:es /data/es/

2、将文件的权限修改为777

chmod -R 777 /data/es/

问题描述

“java.lang.OutOfMemoryError: Java heap space Dumping heap to
data/java_pid1.hprof … Unable to create data/java_pid1.hprof: File
exists

解决办法

这个错误通常是因为JVM(Java虚拟机)分配的堆内存不足,导致无法为新的对象分配内存空间。
JVM的堆内存大小可以通过启动参数-Xms和-Xmx来设置。-Xms用于设置JVM启动时分配的堆内存大小,-Xmx用于设置JVM可以使用的最大堆内存大小。

docker run -d --name es-container -e ES_JAVA_OPTS="-Xms4g -Xmx4g" docker.elastic.co/elasticsearch/elasticsearch:7.15.2

在这个命令中,ES_JAVA_OPTS环境变量用于设置JVM的参数,-Xms4g -Xmx4g将堆内存大小设置为4GB。


问题描述

“ERROR: [1] bootstrap checks failed [1]: max virtual memory areas
vm.max_map_count [65530] is too low, increase to at least [262144]”

错误提示表明Elasticsearch在启动时遇到了一个问题,具体来说是vm.max_map_count的值太低。

解决办法

Elasticsearch在启动时会进行一些检查以确保系统的配置满足其运行要求。其中之一就是检查系统的最大虚拟内存区域数量(vm.max_map_count)。这个值在Linux系统中用于限制进程可以拥有的内存映射数量。Elasticsearch需要一个较高的值,因为它是用大量的内存映射来提高性能的。

要解决这个问题,你需要增加vm.max_map_count的值。你可以通过以下命令来临时地(重启后失效)修改这个

sudo sysctl -w vm.max_map_count=262144

如果你想让这个修改在重启后仍然生效,你需要将这个值添加到你的sysctl配置文件中。

vim /etc/sysctl.conf
	# 新增或修改如下内容
vm.max_map_count=262144    # 大于等于262144	
# 生效 sysctl
$ sysctl -p
  • 22
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值