[root@VM-16-6-centos elasticsearch-7.4.2]# ./bin/elasticsearch
OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
[2021-11-18T08:49:47,387][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [VM-16-6-centos] 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:163) ~[elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125) ~[elasticsearch-cli-7.4.2.jar:7.4.2]
at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.4.2.jar:7.4.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.4.2.jar:7.4.2]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:105) ~[elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:172) ~[elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.4.2.jar:7.4.2]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.4.2.jar:7.4.2]
... 6 more
[root@VM-16-6-centos elasticsearch-7.4.2]#
解决方法:
1.创建es用户组及es用户:
2.更改es文件夹及内部文件的所属用户及组为es:es(在elasticsearch根目录执行此命令)
3.切换到es用户再启动
4:访问IP:9200即可查看elasticsearch基本信息:
[root@VM-16-6-centos ~]# curl 127.0.0.1:9200
{
"name" : "VM-16-6-centos",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "-kPGkT7VSsa2m_PI-LeztQ",
"version" : {
"number" : "7.4.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "2f90bbf7b93631e52bafb59b3b049cb44ec25e96",
"build_date" : "2019-10-28T20:40:44.881551Z",
"build_snapshot" : false,
"lucene_version" : "8.2.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[root@VM-16-6-centos ~]#
配置开机启动以及远程访问
-
配置开机启动
创建开机启动文件
vim /usr/lib/systemd/system/elasticsearch.service
内容如下:
[Unit]
Description=elasticsearch
[Service]
User=es #此处为刚才设置的用户名
LimitNOFILE=100000
LimitNPROC=100000
ExecStart=/usr/local/elasticsearch/bin/elasticsearch
[Install]
WantedBy=multi-user.target
设置开机启动
systemctl daemon-reload #加载文件配置
systemctl enable elasticsearch #设置开机启动
systemctl start|stop|status|restart elasticsearch #启动|停止|状态|重启es
启动成功访问