节点加载,但Elasticsearch有0个分片

时间:2015-12-01 04:18:23

标签: elasticsearch

我正在测试一个具有默认复制,默认分片的20节点集群,并且最近想要从默认的“elasticsearch”重命名集群。因此,我更新了配置群集名称,并另外重命名了

中的数据
mylocation/data/OldName

mylocation/data/NewName

当然包含:

nodes/0
nodes/1

等...

大约一个月后,我再次加载我的集群,我看到虽然所有20个节点都重新上线,但它会显示0个活动分片,0个主分片等等,这应该是几千个。状态为绿色,没有任何内容正在初始化,除了没有数据外什么都不是。我查看nodes/0,我看到nodes/0/indices/填充了我的索引名称:数据实际上在磁盘上。但似乎没有什么可以让它实际加载碎片。配置使用正确的Des.path.data=mylocation/data/

可能有什么问题,我该如何调试呢?我相当自信我在装载它之后运行了一个星期,但它是在一段时间之前,也许其他事情已经改变了。奇怪的是,它似乎无法识别它指向的任何数据,并且它没有给我任何“我看不到你的数据”或“无法读取或写入该数据”的错误信息。

更新

它开始后说:

将[0]索引恢复到cluster_state。

我用谷歌搜索了它,这听起来像版本兼容性。检查了我的二进制文件,这似乎不是问题。我一直在使用1.3.2。

更新2

20个节点中的一个重复失败 ElasticsearchillegalStateException [无法获取节点锁定,以下位置是否可写?]

它列出了可写的正确数据目录。我应该删除节点锁吗?当群集关闭时,某些node.locks是664,有些是640。这是正常的还是可能是不洁的关闭的遗物?

其中一些重复吗?我有40个节点,20个是640,20个是664。

更新3

在lucene级别有写锁定。所以

数据/新名称/节点/ 1 /索引/ INDEXNAME / 4 /索引/ write.lock

存在。这是移动分片失败的原因吗?我可以安全地删除每个写锁定,还是_state文件中存在会导致不一致的共享状态?

0 个答案:

没有答案