启动elasticsearch报错的几种原因及解决方法

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

在宿主机执行:

sysctl -w vm.max_map_count=262144

原因:

vm.max_map_count参数,是允许一个进程在VMAs拥有最大数量(VMA:虚拟内存地址, 一个连续的虚拟地址空间),当进程占用内存超过时, 直接OOM。

elasticsearch占用内存较高。官方要求max_map_count需要配置到最小262144。

问题

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c5330000, 986513408, 0) failed; error=‘Cannot allocate memory‘ (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 986513408 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /usr/local/software/temp/elasticsearch-6.2.2/hs_err_pid1912.log

解决:

内存不够,购买阿里云的机器可以动态增加内存,或者启动时候现在内存为256M

问题:

[[email protected] bin]# ./elasticsearch
[2018-02-22T20:14:04,870][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.2.2.jar:6.2.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.2.2.jar:6.2.2]

解决:

用非root用户
添加用户:useradd -m 用户名 然后设置密码 passwd 用户名

问题:

./elasticsearch
Exception in thread "main" java.nio.file.AccessDeniedException: /usr/local/software/temp/elasticsearch-6.2.2/config/jvm.options

解决:

权限不够 chmod 777 -R 当前es目录

原文地址:https://www.cnblogs.com/dalianpai/p/11783004.html

时间: 2024-11-04 23:01:33

启动elasticsearch报错的几种原因及解决方法的相关文章

zabbix启动报错:Connection to database 'xxx' failed解决方法

Zabbix 分布式系统监视系统 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 本文讲解的是zabbix无法启动报错:Connection to database 'xxx' failed: [1045] Access denied for user 'xxx'@'localhost' (using password: NO)

python安装locustio报错error: invalid command 'bdist_wheel'的解决方法

locust--scalable user load testing tool writen in Python(是用python写的.规模化.可扩展的测试性能的工具) 安装locustio需要的环境条件是:Python2.6+,但是不支持Python3. 今天在cmd里运行pip install locustio,报错提示:error: invalid command 'bdist_wheel'. 原因:pip和setuptools的版本较低. 解决方案:升级pip和setuptools. 一

php-fpm linux环境使用exec函数调用ffmpeg,报错ffmpeg: command not found的解决方法

原文链接:http://www.bowen-tech.top/articles/detail/25 php-fpm linux环境使用exec函数调用ffmpeg,报错ffmpeg: command not found的解决方法 打印具体报错命令 0 => 'sh: ffmpeg: command not found', 具体原因是通过PHP调用这个命令,没有引入对应的环境变量,导致找不到这个命令 解决办法 在PHP-fpm.conf的配置文件里面把下面几行前面的;去掉我的PHP配置文件php-

IDEA找不到程序包 和 request.getServletContext()报错Cannot resolve method 'getServletContext()的解决方法

重新装了idea和down了项目却一直报错,在调用request.getServletContext()的方法时一直报Cannot resolve method 'getServletContext()的错误,网上查了好多方法,大多数都是在说是servlet3.0才可以支持此方法,而servlet3.0只有tomcat7以上版本才可以,我检查了我自己的tomcat发现就是3.0,最终找到原因 对于Maven项目要检查pom文件中的servlet引入的是哪个包,我原来写的是这个 <dependen

rlwrap安装报错You need the GNU readline 解决方法

首先大家肯定知道rlwrap是干什么的? 在linux以及unix中,sqlplus的上下左右.回退无法使用,会出现乱码情况.而rlwrap这个软件就是用来解决这个的. 这个错误曾经困扰我很久很久!下载readline 安装,安装好readline 还是无法运行rlwrap的安装程序 在网上搜寻很久才找到一个靠谱的解决方法 原来rlwrap这个程序的安装,需要依赖两个包, 一个是readline,这个readline在RHEL中已经集成了.不需要去专门下载 另外一个包 libtermcap-de

运行Scrapy工程,报错ModuleNotFoundError: No module named &#39;win32api&#39;解决方法

1.运行爬虫scrapy crawl name,报错ScrpyModuleNotFoundError: No module named 'win32api' 2.解决方法: 在https://github.com/mhammond/pywin32/releases找到合适的软件,进行下载安装. 3.完成安装: 4.安装成功后,再次运行scrapy crawl name.运行成功 运行Scrapy工程,报错ModuleNotFoundError: No module named 'win32api

CentOS release 6.7 启动 elasticsearch 报错

启动elasticsearch 报如下错误: [2017-05-10T10:04:50,648][WARN ][o.e.b.JNANatives         ] unable to install syscall filter: java.lang.UnsupportedOperationException: seccomp unavailable: CONFIG_SECCOMP not compiled into kernel, CONFIG_SECCOMP and CONFIG_SECC

Loadrunner报错“Too many local variablesAction.c”解决方法

问题描述,在Action.c里定义数组时如果数组长度过长,如char a[1024*1024]运行时即会报错: 意思为:太多的局部变量 问题原因及解决方法如下: 1. VuGen对于局部变量可以分配的最大内存为64K,如果想分配空间大于64K的变量的话,需要通过如下方法: a. 将其定义为全局变量,Declare it globally. char buffer[100000]; Actions() { return 0; } b. 使用malloc()来分配内存,Use malloc() to

转:Loadrunner报错“Too many local variablesAction.c”解决方法

问题描述,在Action.c里定义数组时如果数组长度过长,如char a[1024*1024]运行时即会报错: 问题原因及解决方法如下: 1. VuGen对于局部变量可以分配的最大内存为64K,如果想分配空间大于64K的变量的话,需要通过如下方法: VuGen has a limitation of 64K for local variables. If you want to declare a variable larger than 64K: a. 将其定义为全局变量,Declare it