【异常】org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException:

elasticsearch 启动报错:

{"type": "server", "timestamp": "2020-01-03T19:05:05,712+08:00", "level": "WARN", "component": "o.e.b.ElasticsearchUncaughtExceptionHandler", "cluster.name": "docker-cluster", "node.name": "node-1", "message": "uncaught exception in thread [main]", 
"stacktrace": ["org.elasticsearch.bootstrap.StartupException: java.lang.IllegalArgumentException: setting [cluster.initial_master_nodes] is not allowed when [discovery.type] is set to [single-node]",
"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.IllegalArgumentException: setting [cluster.initial_master_nodes] is not allowed when [discovery.type] is set to [single-node]",
"at org.elasticsearch.cluster.coordination.ClusterBootstrapService.<init>(ClusterBootstrapService.java:86) ~[elasticsearch-7.4.2.jar:7.4.2]",
"at org.elasticsearch.cluster.coordination.Coordinator.<init>(Coordinator.java:198) ~[elasticsearch-7.4.2.jar:7.4.2]",
"at org.elasticsearch.discovery.DiscoveryModule.<init>(DiscoveryModule.java:157) ~[elasticsearch-7.4.2.jar:7.4.2]",
"at org.elasticsearch.node.Node.<init>(Node.java:515) ~[elasticsearch-7.4.2.jar:7.4.2]",
"at org.elasticsearch.node.Node.<init>(Node.java:255) ~[elasticsearch-7.4.2.jar:7.4.2]",
"at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:221) ~[elasticsearch-7.4.2.jar:7.4.2]",
"at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:221) ~[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"] }

docker 启动命令如下:

sudo docker run -tid \
--net docker-hadoop-net \
--ip 172.170.0.15 \
--restart=always \
--hostname=hadoop_elasticsearch \
--name=hadoop-elasticsearch \
-p 19200:9200 \
-p 19300:9300 \
-v /usr/docker/software/elasticsearch/config/:/usr/share/elasticsearch/config/ \
-v /usr/docker/software/elasticsearch/data/:/usr/share/elasticsearch/data/ \
-v /usr/docker/software/elasticsearch/logs/:/usr/share/elasticsearch/logs/ \
-v /usr/docker/software/elasticsearch/plugins/:/usr/share/elasticsearch/plugins/ \
-v /etc/localtime:/etc/localtime \
-e ES_JAVA_OPTS="-Xms2g -Xmx2g" \
-e "discovery.type=single-node" \
-e TZ='Asia/Shanghai' \
-e LANG="en_US.UTF-8" \
elasticsearch:7.4.2

原因是,使用docker启动 elasticsearch 时,设置的是单节点启动。
注: -e "discovery.type=single-node" 

但是配置文件中[elasticsearch.yml] 确实集群配置。

去掉  -e "discovery.type=single-node"  后, 重新启动容器,就行了

发布了111 篇原创文章 · 获赞 28 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_42697074/article/details/103825683