问题:
代码语言:javascript复制[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.
代码语言:javascript复制解答:
Elasticsearch 2.*版本之后出于对系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,默认如果使用root用户运行就会报"java.lang.RuntimeException"的错误,解决如下:
代码语言:javascript复制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用户 :
代码语言:javascript复制
代码语言:javascript复制
代码语言:javascript复制