ElasticSearch在linux上安装完,总有各种原因无法启动,今天老编为大家系统整理一下常见和报错情况及处理方法
报错处理
报错一:在root用户下启动时报错
(图:es报错处理)
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户。
具体操作如下:
useradd es
passwd tes
再输入两次密码(自定义)
为用户赋权限chown -R es:es /usr/local/elasticsearch(elasticsearch的安装目录,具体看自己的)
然后使用es用户启动 :su es
cd /usr/local/elasticsearch
启动es命令:bin/elasticsearch
报错二:在es用户下启动时报错
(图:es报错处理)
为用户赋权限
chown -R es:es /usr/local/elasticsearch
然后使用es用户启动 :su es
cd /usr/local/elasticsearch
启动es命令:bin/elasticsearch
报错三:es用户在SecComp下启动时报错
(图:es报错处理)
报错原因:
Centos6不支持SecComp,而ES默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。
解决方案:
在elasticsearch.yml中新增配置bootstrap.system_call_filter,设为false。
bootstrap.system_call_filter: false
(图:es报错处理)
报错四:bootstrap checks failed [262144]
(图:es报错处理)
1、原因:
无法创建本地文件问题,用户最大可创建文件数太小,解决方案:切换到root用户,编辑limits.conf配置文件, 添加类似如下内容:
vi /etc/security/limits.conf
然后添加如下内容: 注意*不要去掉了
* soft nofile 65536
* hard nofile 131072注:* 代表Linux所有用户名称(比如 hadoop)
需要保存、退出、重新登录才可生效。
2、原因:
最大虚拟内存太小,解决办法切换到root用户修改配置sysctl.conf:
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
最后记得执行:
sysctl -p
然后,重新启动elasticsearch,即可启动成功。
报错五:main ERROR Null object returned for RollingFile in Appenders.
需要修改config配置里的log4j2.properties 文件, 将 logger.deprecation.level = warn 改为 error
报错六:[xpack.ml.enabled: false]
解决措施:
vi ElasticSearch-7.3.2/config/elasticsearch.yml
编辑ElasticSearch-7.3.2\config\elasticsearch.yml文件,文件最后追加xpack.ml.enabled: false。注意“:”号存在空格!
报错七:Cannot allocate memory
解决措施:
vi ElasticSearch-7.3.2/config/jvm.options
...
-Xms4g
-Xmx4g
jvm.options中jvm内存设置偏大,启动时系统无法提供设置的内存。将ElasticSearch-7.3.2\config\jvm.options中-Xms和-Xmx参数调小,具体内存大小根据机器设定。
最后
访问:你的IP:9200,出现下面这张图就说明成功了
(图:es报错处理)
END!!!
- 报错一:在root用户下启动时报错
- 报错二:在es用户下启动时报错
- 报错三:es用户在SecComp下启动时报错
- 报错原因:
- 解决方案:
- 报错四:bootstrap checks failed [262144]
- 1、原因:
- 2、原因:
- 报错五:main ERROR Null object returned for RollingFile in Appenders.
- 报错六:[xpack.ml.enabled: false]
- 报错七:Cannot allocate memory
- END!!!
发表评论
支持一下