org.elasticsearch.discovery.MasterNotDiscoveredException异常解决

org.elasticsearch.discovery.MasterNotDiscoveredException异常解决

问题

我新下载的elasticSearch,启动之后又warn,如下所示:

[2019-07-01T23:21:52,915][WARN ][o.e.c.c.ClusterFormationFailureHelper] [cgj-1] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and [cluster.initial_master_nodes] is empty on this node: have discovered []; discovery will continue using [] from hosts providers and [{cgj-1}{SpsiDM4yTIWn8jfxY2n0qg}{nedE7WtERZG62If9_H9zTA}{127.0.0.1}{127.0.0.1:9300}{ml.machine_memory=6250930176, xpack.installed=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0

我没有特别关注他,然后等待ES启动之后,我执行了一条命令,命令行报错:

[2019-07-01T23:21:58,476][WARN ][r.suppressed             ] [cgj-1] path: /_mapping, params: {}
org.elasticsearch.discovery.MasterNotDiscoveredException: null
        at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction$4.onTimeout(TransportMasterNodeAction.java:259) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver$ContextPreservingListener.onTimeout(ClusterStateObserver.java:322) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onTimeout(ClusterStateObserver.java:249) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.service.ClusterApplierService$NotifyTimeout.run(ClusterApplierService.java:555) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:681) [elasticsearch-7.0.0.jar:7.0.0]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_201]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_201]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

紧接着,我执行了put命令,此时在命令行出现了NodeClosedException如下报错:

[2019-07-01T23:22:45,548][WARN ][r.suppressed             ] [cgj-1] path: /study/doc/f1, params: {index=study, id=f1, type=doc}
org.elasticsearch.node.NodeClosedException: node closed {cgj-1}{SpsiDM4yTIWn8jfxY2n0qg}{nedE7WtERZG62If9_H9zTA}{127.0.0.1}{127.0.0.1:9300}{ml.machine_memory=6250930176, xpack.installed=true, ml.max_open_jobs=20}
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation$2.onClusterServiceClose(TransportBulkAction.java:500) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver$ContextPreservingListener.onClusterServiceClose(ClusterStateObserver.java:315) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onClose(ClusterStateObserver.java:234) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.service.ClusterApplierService.addTimeoutListener(ClusterApplierService.java:273) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver.waitForNextChange(ClusterStateObserver.java:173) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver.waitForNextChange(ClusterStateObserver.java:117) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver.waitForNextChange(ClusterStateObserver.java:109) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.retry(TransportBulkAction.java:492) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.handleBlockExceptions(TransportBulkAction.java:476) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.action.bulk.TransportBulkAction$BulkOperation.doRun(TransportBulkAction.java:353) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.action.bulk.TransportBulkAction.executeBulk(TransportBulkAction.java:547) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.action.bulk.TransportBulkAction$1.onFailure(TransportBulkAction.java:277) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.action.support.TransportAction$1.onFailure(TransportAction.java:74) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction$4.onClusterServiceClose(TransportMasterNodeAction.java:252) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver$ContextPreservingListener.onClusterServiceClose(ClusterStateObserver.java:315) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onClose(ClusterStateObserver.java:234) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.service.ClusterApplierService.doStop(ClusterApplierService.java:174) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:79) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.cluster.service.ClusterService.doStop(ClusterService.java:108) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:79) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.node.Node.stop(Node.java:763) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.node.Node.close(Node.java:786) [elasticsearch-7.0.0.jar:7.0.0]
        at org.elasticsearch.core.internal.io.IOUtils.close(IOUtils.java:103) [elasticsearch-core-7.0.0.jar:7.0.0]
        at org.elasticsearch.core.internal.io.IOUtils.close(IOUtils.java:61) [elasticsearch-core-7.0.0.jar:7.0.0]
        at org.elasticsearch.bootstrap.Bootstrap$4.run(Bootstrap.java:183) [elasticsearch-7.0.0.jar:7.0.0]
        Suppressed: org.elasticsearch.node.NodeClosedException: node closed {cgj-1}{SpsiDM4yTIWn8jfxY2n0qg}{nedE7WtERZG62If9_H9zTA}{127.0.0.1}{127.0.0.1:9300}{ml.machine_memory=6250930176, xpack.installed=true, ml.max_open_jobs=20}
                at org.elasticsearch.action.support.master.TransportMasterNodeAction$AsyncSingleAction$4.onClusterServiceClose(TransportMasterNodeAction.java:252) [elasticsearch-7.0.0.jar:7.0.0]
                at org.elasticsearch.cluster.ClusterStateObserver$ContextPreservingListener.onClusterServiceClose(ClusterStateObserver.java:315) [elasticsearch-7.0.0.jar:7.0.0]
                at org.elasticsearch.cluster.ClusterStateObserver$ObserverClusterStateListener.onClose(ClusterStateObserver.java:234) [elasticsearch-7.0.0.jar:7.0.0]
                at org.elasticsearch.cluster.service.ClusterApplierService.doStop(ClusterApplierService.java:174) [elasticsearch-7.0.0.jar:7.0.0]
                at org.elasticsearch.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:79) [elasticsearch-7.0.0.jar:7.0.0]
                at org.elasticsearch.cluster.service.ClusterService.doStop(ClusterService.java:108) [elasticsearch-7.0.0.jar:7.0.0]
                at org.elasticsearch.common.component.AbstractLifecycleComponent.stop(AbstractLifecycleComponent.java:79) [elasticsearch-7.0.0.jar:7.0.0]
                at org.elasticsearch.node.Node.stop(Node.java:763) [elasticsearch-7.0.0.jar:7.0.0]
                at org.elasticsearch.node.Node.close(Node.java:786) [elasticsearch-7.0.0.jar:7.0.0]
                at org.elasticsearch.core.internal.io.IOUtils.close(IOUtils.java:103) [elasticsearch-core-7.0.0.jar:7.0.0]
                at org.elasticsearch.core.internal.io.IOUtils.close(IOUtils.java:61) [elasticsearch-core-7.0.0.jar:7.0.0]
                at org.elasticsearch.bootstrap.Bootstrap$4.run(Bootstrap.java:183) [elasticsearch-7.0.0.jar:7.0.0]

解决

在yml配置文件中有两个跟discovery有关的配置,如下所示:

# --------------------------------- Discovery ----------------------------------
#
# Pass an initial list of hosts to perform discovery when this node is started:
# The default list of hosts is ["127.0.0.1", "[::1]"]
#
discovery.seed_hosts: ["127.0.0.1"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["cgj-1"]
#
# For more information, consult the discovery and cluster formation module documentation.

discovery.seed_hosts

当这个节点启动的时候,会读取该配置项,这个配置项里是一个IP地址的字符串数组,用于发现其他节点。

我在这里名写入的是我当前节点的IP地址

cluster.initial_master_nodes

这个配置项是初始化集群时候,用作初始化为master的节点。配置项的值为节点名称的字符串数组

我在这里写入的是我当前节点的名称,也就是node.name的值。

至此,问题解决!

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值