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用户

扫描二维码关注公众号,回复: 12910808 查看本文章
[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中所介绍的详细操作步骤信息。

加油,致最好的年华!

猜你喜欢

转载自blog.csdn.net/Victory_Lei/article/details/100096171
今日推荐