Eleasticsearch启动失败问题解决

问题:

[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"
复制代码

 

 
 
posted @   程序员同行者  阅读(374)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示