1、出现以下报错,这是因为elasticsearch为了安全性,是不能用root用户启动的。 切换其他账号,或者新建账号 创建账号可以参考 https://www.cnblogs.com/pxblog/p/13572044.html
[2020-04-04T16:34:31,537][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [unknown] 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-6.6.0.jar:6.6.0] ``at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-6.6.0.jar:6.6.0] ``at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-6.6.0.jar:6.6.0] ``at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:124) ~[elasticsearch-cli-6.6.0.jar:6.6.0] ``at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-6.6.0.jar:6.6.0] ``at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:116) ~[elasticsearch-6.6.0.jar:6.6.0] ``at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:93) ~[elasticsearch-6.6.0.jar:6.6.0] Caused by: java.lang.RuntimeException: can not run elasticsearch as root ``at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:103) ~[elasticsearch-6.6.0.jar:6.6.0] ``at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:170) ~[elasticsearch-6.6.0.jar:6.6.0] ``at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:333) ~[elasticsearch-6.6.0.jar:6.6.0] ``at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-6.6.0.jar:6.6.0] ``... 6 more
2、重新使用启动命令,出现以下报错,报这个错是因为用户的权限不足,因此在配置和启动ElasticSearch节点的时候要注意给用户赋予对应的权限
Exception in thread "main" java.nio.file.AccessDeniedException: /usr/web/elasticsearch/elasticsearch-6.6.0/config/jvm.options ``at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) ``at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ``at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ``at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) ``at java.nio.file.Files.newByteChannel(Files.java:361) ``at java.nio.file.Files.newByteChannel(Files.java:407) ``at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384) ``at java.nio.file.Files.newInputStream(Files.java:152) ``at org.elasticsearch.tools.launchers.JvmOptionsParser.main(JvmOptionsParser.java:60)
chown -R elasticsearch:elasticsearch /usr/local/elasticsearch
3、现在默认我们只能在linux服务器上访问elasticsearch ,如果要使得我们在外网也能访问 elasticsearch ,需要修改配置文件,进入elasticsearch文件目录下的config文件夹中
4、出现以下报错 说明现在的环境不符合elasticsearch的要求
ERROR: [1] bootstrap checks failed [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536] [2020-04-04T17:47:27,880][INFO ][o.e.n.Node ] [5GagyKc] stopping ... [2020-04-04T17:47:27,965][INFO ][o.e.n.Node ] [5GagyKc] stopped [2020-04-04T17:47:27,965][INFO ][o.e.n.Node ] [5GagyKc] closing ... [2020-04-04T17:47:27,979][INFO ][o.e.n.Node ] [5GagyKc] closed
修改系统配置文件 vim /etc/security/limits.conf
修改系统最大内存数,进入vim /etc/sysctl.conf
使得配置文件生效 sysctl -p
5、出现以下错误是参数配置问题
ERROR: [1] bootstrap checks failed 47 [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured 48 2021-08-12T18:39:15,390[o.e.n.Node ] [localhost.localdomain] stopping ... 49 2021-08-12T18:39:15,463[o.e.n.Node ] [localhost.localdomain] stopped 50 2021-08-12T18:39:15,464[o.e.n.Node ] [localhost.localdomain] closing ... 51 2021-08-12T18:39:15,517[o.e.n.Node ] [localhost.localdomain] closed 52 2021-08-12T18:39:15,522[o.e.x.m.p.NativeController] [localhost.localdomain] Native controller process has stopped - no new native processes can be started 53 [elsearch@localhost elasticsearch-7.2.1]$
需要配置
1 discovery.seed_hosts: 集群主机列表
2 discovery.seed_providers: 基于配置文件配置集群主机列表
3 cluster.initial_master_nodes: 启动时初始化的参与选主的node,生产环境必填