1.概述
转载:block.ClusterBlockException: blocked by: SERVICE_UNAVAILA
相似问题
org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state
老大说有时候会出现这个问题,然后运维平台做了这项功能,但是一直不知道出现什么情况下需要删除,这里看到了。
2. 场景1
es报错的原因描述:以前集群运行正常,升级之后,在集群中加了几个配置之后,es集群起不来:
gateway.expected_nodes:16
gateway.recovery_after_nodes:16
gate.recover_after_time: 30m
新加的配置:然后把这个配置删掉了也不起不来。
查看集群的健康度:返回信息如下
es的日志报错信息如下:
在网上查了说是配置问题,但是检查了配置是没有问题的。elasticsearch
报错如下:org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state
解决方案:最后直接改es下面的_state目录解决的,这样是不会丢到数据的,重启之后,es会生成新的这个文件
最后集群就恢复了。
Node Data
只需启动ES就会有生成下面的目录树:
node.lock
:为了确保一次只有一个ES应用从这个数据目录读取/写入。global-0.st:global-prefix
表示这是一个全局状态的文件,而.st扩展名表示这是一个包含元数据状态的文件。这个二进制文件是包含集群的全局元数据,前缀后的数字表示集群元数据版本,这是一个严格增加的版本控制方案。版本号跟随集群而变。
扩展:org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state