Linux下elasticsearch首次启动报错
在linux下第一次启动ElasticSearch的时候,输入命令:
# ./elasticsearch
则会有以下报错:
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:35)
Refer to the log for complete error details.
这是出于系统安全考虑设置的条件。由于ElasticSearch可以接收用户输入的脚本并且执行,为了系统安全考虑,建议创建一个单独的用户用来运行ElasticSearch。
创建elsearch用户组及elsearch用户
# groupadd elsearch
# useradd elsearch -g elsearch -p elasticsearch-6.2.1
更改elasticsearch文件夹及内部文件的所属用户及组为elsearch:elsearch
# chown -R elsearch:elsearch elasticsearch-6.2.1
elasticsearch-6.2.1 为你elasticsearch的目录名称
切换到elsearch用户再启动
# su elsearch #切换账户
# cd elasticsearch-6.2.1/bin #进入你的elasticsearch目录下的bin目录
# ./elasticsearch
启动成功!
如果有疑问,欢迎在评论区交流!