ElasticSearch啟動報錯及解決方案
阿新 • • 發佈:2018-12-16
ElasticSearch啟動時報錯:
[[email protected] /home]# elasticsearch-6.4.2/bin/elasticsearch [WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:140) ~[elasticsearch-6.4.2.jar:6.4.2] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:127) ~[elasticsearch-6.4.2.jar:6.4.2] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.4.2.jar:6.4.2] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.4.2.jar:6.4.2] at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.4.2.jar:6.4.2] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.4.2.jar:6.4.2] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:86) ~[elasticsearch-6.4.2.jar:6.4.2] Caused by: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:104) ~[elasticsearch-6.4.2.jar:6.4.2] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:171) ~[elasticsearch-6.4.2.jar:6.4.2] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:326) ~[elasticsearch-6.4.2.jar:6.4.2] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-6.4.2.jar:6.4.2]
大體意思就是 ElasticSearch 預設不允許以 root 使用者啟動(出於安全考慮)
- 解決方法:建立使用者組及使用者
具體步驟:
建立使用者組:
# es_group:組名
[[email protected] bin]# groupadd esgroup
建立使用者:
# esroot:使用者名稱 -g:指定使用者組 -p:指定密碼
[[email protected] bin]# useradd esroot -g esgroup -p password
更改 ElasticSearch 資料夾及子檔案的所屬使用者及使用者組:
[[email protected] /home]# chown -R esroot:esgroup elasticsearch-6.4.2
切換到新建立的使用者並重新執行啟動命令:
[[email protected] /home]# su esroot
[[email protected] /home]# elasticsearch-6.4.2/bin/elasticsearch