1. 程式人生 > >ElasticSearch啟動報錯及解決方案

ElasticSearch啟動報錯及解決方案

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