Eleasticsearch启动失败问题解决

本文介绍了Elasticsearch不允许以root用户启动的原因,并提供了两种解决方案:一是通过设置参数允许root用户启动;二是创建普通用户进行启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:

[root@dnode1 bin]# ./elasticsearch -d
[root@dnode1 bin]# Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root.
    at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:94)
    at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:160)
    at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:286)
    at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:45)
Refer to the log for complete error details.

解答:
Elasticsearch 2.*版本之后出于对系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,默认如果使用root用户运行就会报"java.lang.RuntimeException"的错误,解决如下:
1、添加使用root运行的参数
vi bin/elasticsearch
ES_JAVA_OPTS="-Des.insecure.allow.root=true"
或者设置别名:
alias elasticsearch='elasticsearch -Des.insecure.allow.root=true'
可以添加到/root/.bashrc 中让其生效
或者启动直接传参启动:
bin/elasticsearch -Des.insecure.allow.root=true
2、添加普通用户启动
创建elsearch用户组及elsearch用户 :
groupadd elsearch
useradd elsearch -g elsearch
更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch :
chown -R elsearch:elsearch  elasticsearch
使用elsearch用户启动elasticsearch:
cd elasticsearch/bin
runuser -l elsearch -c "./elasticsearch -d"

 

 
 

转载于:https://www.cnblogs.com/guigujun/p/8010610.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值