ElasticSearch 啓動運行報錯

在本次安裝過程中,採用的是root權限進行安裝elasticSearch,因此在啓動程序的時候出現下述所示的錯誤信息:

[root@admin01 elasticsearch-5.2.2]# bin/elasticsearch
[2019-08-27T19:11:35,040][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [admin01] 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:125) ~[elasticsearch-5.2.2.jar:5.2.2]
	at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:112) ~[elasticsearch-5.2.2.jar:5.2.2]
	at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-5.2.2.jar:5.2.2]
	at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.2.2.jar:5.2.2]
	at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.2.2.jar:5.2.2]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:89) ~[elasticsearch-5.2.2.jar:5.2.2]
	at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:82) ~[elasticsearch-5.2.2.jar:5.2.2]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
	at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-5.2.2.jar:5.2.2]
	at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:203) ~[elasticsearch-5.2.2.jar:5.2.2]
	at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-5.2.2.jar:5.2.2]
	at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:121) ~[elasticsearch-5.2.2.jar:5.2.2]
	... 6 more

在這裏插入圖片描述

出現此問題的解決方法有如下幾種:

方法一:

在執行elasticSearch時加上參數-Des.insecure.allow.root=true,完整命令如下

./elasticsearch -Des.insecure.allow.root=true

方法二:

用vi打開elasicsearch執行文件,在變量ES_JAVA_OPTS使用前添加以下命令

ES_JAVA_OPTS="-Des.insecure.allow.root=true"  

如下圖所示,這個方法的好處是以後不用添加參數就能以root身份執行了,在下述圖片所示的路徑下對文件信息,進行修改操作。
在這裏插入圖片描述
在這裏插入圖片描述

方法三:

使用root權限添加新的登陸用戶,並賦予該用戶使用ElasticSearch的操作權限,如下所示:

adduser work   //添加用戶
passwd work  //給用戶賦值

添加完用戶之後:

用root用戶執行 :chown -R elasticsearch-5.2.2 work

並且將這幾個壓縮包所在的文件夾及解壓完的文件夾權限賦予新建的work用戶。之後再使用新用戶啓動就可以正常啓動運行。

方法四:

在使用root權限啓動ElasticSearch的時候,會出現開篇所示的錯誤信息,這是出於系統安全考慮設置的條件。由於ElasticSearch可以接收用戶輸入的腳本並且執行,爲了系統安全考慮, 建議創建一個單獨的用戶用來運行ElasticSearch。

創建elsearch用戶組及elsearch用戶

[root@admin01 ~]# groupadd elastic
[root@admin01 ~]# useradd elastic -g elastic -p elasticsearch-5.2.2

在這裏插入圖片描述
更改elasticsearch-5.2.2文件夾及內部文件的所屬用戶及組爲elastic:elastic

[root@admin01 ~]# cd opt/softwares/
[root@admin01 softwares]# chown -R elastic:elastic elasticsearch-5.2.2/

在這裏插入圖片描述
切換到elastic用戶再啓動

[root@admin01 ~]# cd opt/softwares/
[root@admin01 softwares]# su elastic
[elastic@admin01 softwares]$ cd elasticsearch-5.2.2/
[elastic@admin01 elasticsearch-5.2.2]$ ll
total 224
drwxr-xr-x  2 elastic elastic   4096 Aug 27 19:24 bin
drwxr-xr-x  2 elastic elastic   4096 Aug 27 19:06 config
drwxr-xr-x  2 elastic elastic   4096 Aug 27 18:52 data
drwxr-xr-x  2 elastic elastic   4096 Feb 25  2017 lib
-rw-r--r--  1 elastic elastic  11358 Feb 25  2017 LICENSE.txt
drwxr-xr-x  2 elastic elastic   4096 Aug 27 19:07 logs
drwxr-xr-x 12 elastic elastic   4096 Feb 25  2017 modules
-rw-r--r--  1 elastic elastic 172700 Feb 25  2017 NOTICE.txt
drwxr-xr-x  2 elastic elastic   4096 Feb 25  2017 plugins
-rw-r--r--  1 elastic elastic   9108 Feb 25  2017 README.textile
[elastic@admin01 elasticsearch-5.2.2]$ bin/elasticsearch

在這裏插入圖片描述

注意

在ElasticSearch5以後的版本中,使用出現上述所示的錯誤信息之後,上述所示的方法1和方法二已經不能夠解決上述所示的問題。因此大家需要掌握的是方法3和方法4中所介紹的詳細操作步驟信息。

加油,致最好的年華!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章