問題:
es安裝好之后,使用root啟動會報錯:can not run elasticsearch as root
[root@iZbp1bb2egi7w0ueys548pZ bin]# ./elasticsearch [2019-01-21T09:50:59,387][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:134) ~[elasticsearch-6.0.0.jar:6.0.0] at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:121) ~[elasticsearch-6.0.0.jar:6.0.0] at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:69) ~[elasticsearch-6.0.0.jar:6.0.0] at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-6.0.0.jar:6.0.0] at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-6.0.0.jar:6.0.0] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-6.0.0.jar:6.0.0] at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:85) ~[elasticsearch-6.0.0.jar:6.0.0] Caused by: java.lang.RuntimeException: can not run elasticsearch as root at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:104) ~[elasticsearch-6.0.0.jar:6.0.0] at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:171) ~[elasticsearch-6.0.0.jar:6.0.0] at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:322) ~[elasticsearch-6.0.0.jar:6.0.0] at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:130) ~[elasticsearch-6.0.0.jar:6.0.0] ... 6 more
原因:
為了安全不允許使用root用戶啟動
解決:
es5之后的都不能使用添加啟動參數或者修改配置文件等方法啟動了,必須要創建用戶
1、創建用戶:elasticsearch
[root@iZbp1bb2egi7w0ueys548pZ bin]# adduser elasticsearch
2、創建用戶密碼,需要輸入兩次
[root@iZbp1bb2egi7w0ueys548pZ bin]# passwd elasticsearch
3、將對應的文件夾權限賦給該用戶
[root@iZbp1bb2egi7w0ueys548pZ local]# chown -R elasticsearch elasticsearch-6.0.0
4、切換至elasticsearch用戶
[root@iZbp1bb2egi7w0ueys548pZ etc]# su elasticsearch
5、進入啟動目錄啟動 /usr/local/elasticsearch-6.0.0/bin 使用后台啟動方式:./elasticsearch -d
[elasticsearch@vmt10003 bin]$ ./elasticsearch -d
6、啟動后測試
輸入curl ip:9200,如果返回一個json數據說明啟動成功
可能遇到的問題
1、啟動后訪問ip:9200沒有顯示json
[root@iZbp1bb2egi7w0ueys548qZ ~]# curl 10.132.131.51:9200 curl: (7) Failed connect to 10.132.131.51:9200; Connection refused
解決:
修改elasticsearch.yml文件,添加
network.host: 0.0.0.0
再次啟動就可以了
[root@iZbp1bb2egi7w0ueys548qZ ~]# curl 10.132.131.51:9200 { "name" : "dMD7fZd", "cluster_name" : "elasticsearch", "cluster_uuid" : "Cy4a99t2Sw2_hnJ_jtdRgA", "version" : { "number" : "6.0.0", "build_hash" : "8f0685b", "build_date" : "2017-11-10T18:41:22.859Z", "build_snapshot" : false, "lucene_version" : "7.0.1", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" }