elasticsearch,Lucene,elasticsearch" /> elasticsearch,Lucene,elasticsearch" />

Lucene 无法锁定IndexWriter isLocked[错误]

Lucene 无法锁定IndexWriter isLocked[错误],lucene,elasticsearch,Lucene,elasticsearch,我试图在几秒钟内创建一个索引,结果如下: [2014-06-02 14:10:14,414][WARN ][index.engine.internal ] [shardicaprio] [myindex][0] Could not lock IndexWriter isLocked [false] 下面是完整的堆栈跟踪: org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLo

我试图在几秒钟内创建一个索引,结果如下:

[2014-06-02 14:10:14,414][WARN ][index.engine.internal    ] [shardicaprio] [myindex][0] Could not lock IndexWriter isLocked [false]
下面是完整的堆栈跟踪:

org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/var/lib/elasticsearch/data/shardicaprio/nodes/0/indices/myindex/0/index/write.lock
        at org.apache.lucene.store.Lock.obtain(Lock.java:84)
        at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:702)
        at org.elasticsearch.index.engine.internal.InternalEngine.createWriter(InternalEngine.java:1388)
        at org.elasticsearch.index.engine.internal.InternalEngine.start(InternalEngine.java:256)
        at org.elasticsearch.index.shard.service.InternalIndexShard.postRecovery(InternalIndexShard.java:684)
        at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:158)
        at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:189)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
[2014-06-02 14:10:14,533][WARN ][indices.cluster          ] [shardicaprio] [myindex][0] failed to start shard
org.elasticsearch.index.gateway.IndexShardGatewayRecoveryException: [myindex][0] failed recovery
        at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:248)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.elasticsearch.index.engine.EngineCreationFailureException: [myindex][0] failed to create engine
        at org.elasticsearch.index.engine.internal.InternalEngine.start(InternalEngine.java:258)
        at org.elasticsearch.index.shard.service.InternalIndexShard.postRecovery(InternalIndexShard.java:684)
        at org.elasticsearch.index.gateway.local.LocalIndexShardGateway.recover(LocalIndexShardGateway.java:158)
        at org.elasticsearch.index.gateway.IndexShardGatewayService$1.run(IndexShardGatewayService.java:189)
        ... 3 more
Caused by: org.apache.lucene.store.LockObtainFailedException: Lock obtain timed out: NativeFSLock@/var/lib/elasticsearch/data/shardicaprio/nodes/0/indices/myindex/0/index/write.lock
        at org.apache.lucene.store.Lock.obtain(Lock.java:84)
        at org.apache.lucene.index.IndexWriter.<init>(IndexWriter.java:702)
        at org.elasticsearch.index.engine.internal.InternalEngine.createWriter(InternalEngine.java:1388)
        at org.elasticsearch.index.engine.internal.InternalEngine.start(InternalEngine.java:256)
        ... 6 more
[2014-06-02 14:10:14,536][WARN ][cluster.action.shard     ] [shardicaprio] [myindex][0] sending failed shard for [myindex][0], node[kHOedr2wQpa3DSZj81ep_A], [P], s[INITIALIZING], indexUUID [29Uf2hH4S2-FJf1LnNrM0A], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[myindex][0] failed recovery]; nested: EngineCreationFailureException[[myindex][0] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/lib/elasticsearch/data/shardicaprio/nodes/0/indices/myindex/0/index/write.lock]; ]]
[2014-06-02 14:10:14,536][WARN ][cluster.action.shard     ] [shardicaprio] [myindex][0] received shard failed for [myindex][0], node[kHOedr2wQpa3DSZj81ep_A], [P], s[INITIALIZING], indexUUID [29Uf2hH4S2-FJf1LnNrM0A], reason [Failed to start shard, message [IndexShardGatewayRecoveryException[[myindex][0] failed recovery]; nested: EngineCreationFailureException[[myindex][0] failed to create engine]; nested: LockObtainFailedException[Lock obtain timed out: NativeFSLock@/var/lib/elasticsearch/data/shardicaprio/nodes/0/indices/myindex/0/index/write.lock]; ]]
org.apache.lucene.store.lockActainFailedException:锁获取超时:NativeFSLock@/var/lib/elasticsearch/data/shardicaprio/nodes/0/index/myindex/0/index/write.Lock
位于org.apache.lucene.store.Lock.get(Lock.java:84)
位于org.apache.lucene.index.IndexWriter(IndexWriter.java:702)
位于org.elasticsearch.index.engine.internal.InternalEngine.createWriter(InternalEngine.java:1388)
位于org.elasticsearch.index.engine.internal.InternalEngine.start(InternalEngine.java:256)
位于org.elasticsearch.index.shard.service.InternalIndexShard.postRecovery(InternalIndexShard.java:684)
在org.elasticsearch.index.gateway.local.localIndexHardGateway.recover(localIndexHardGateway.java:158)上
在org.elasticsearch.index.gateway.indexSharedGatewayService$1.run(indexSharedGatewayService.java:189)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
运行(Thread.java:745)
[2014-06-02 14:10:14533][WARN][index.cluster][shardicaprio][myindex][0]无法启动碎片
org.elasticsearch.index.gateway.indexHardGatewayRecoveryException:[myindex][0]恢复失败
在org.elasticsearch.index.gateway.indexSharedGatewayService$1.run(indexSharedGatewayService.java:248)上
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
运行(Thread.java:745)
原因:org.elasticsearch.index.engine.EngineCreationFailureException:[myindex][0]未能创建引擎
位于org.elasticsearch.index.engine.internal.InternalEngine.start(InternalEngine.java:258)
位于org.elasticsearch.index.shard.service.InternalIndexShard.postRecovery(InternalIndexShard.java:684)
在org.elasticsearch.index.gateway.local.localIndexHardGateway.recover(localIndexHardGateway.java:158)上
在org.elasticsearch.index.gateway.indexSharedGatewayService$1.run(indexSharedGatewayService.java:189)
... 3个以上
原因:org.apache.lucene.store.lockActainFailedException:锁获取超时:NativeFSLock@/var/lib/elasticsearch/data/shardicaprio/nodes/0/index/myindex/0/index/write.Lock
位于org.apache.lucene.store.Lock.get(Lock.java:84)
位于org.apache.lucene.index.IndexWriter(IndexWriter.java:702)
位于org.elasticsearch.index.engine.internal.InternalEngine.createWriter(InternalEngine.java:1388)
位于org.elasticsearch.index.engine.internal.InternalEngine.start(InternalEngine.java:256)
... 还有6个
[2014-06-02 14:10:14536][WARN][cluster.action.shard][shardicaprio][myindex][0]为[myindex][0]、节点[kHOedr2wQpa3DSZj81ep_A]、[P]、s[initialization]、索引uid[29uf2hhh4s2-FJf1LnNrM0A]发送失败的碎片,原因[启动碎片失败,消息[indexhardGatewayRecoveryeException[[myindex][0]恢复失败];嵌套:EngineCreationFailureException[[myindex][0]未能创建引擎];嵌套:LockOcctainFailedException[Lock Get超时:NativeFSLock@/var/lib/elasticsearch/data/ShardicPrio/nodes/0/Indexes/myindex/0/index/write.Lock];]]
[2014-06-02 14:10:14536][WARN][cluster.action.shard][shardicaprio][myindex][0]接收到[myindex][0]、节点[kHOedr2wQpa3DSZj81ep_A]、[P]、s[initialization]、索引uid[29uf2hhh4s2-FJf1LnNrM0A]的碎片失败,原因[启动碎片失败,消息[indexhardGatewayRecoveryeException[[myindex][0]恢复失败];嵌套:EngineCreationFailureException[[myindex][0]未能创建引擎];嵌套:LockOcctainFailedException[Lock Get超时:NativeFSLock@/var/lib/elasticsearch/data/ShardicPrio/nodes/0/Indexes/myindex/0/index/write.Lock];]]
我没有内存过载,我的heapsize很好,但是CPU。CPU过载甚至超过使用率的100%。我试着恢复索引、删除索引、重新创建索引,但每次都是这样。我想不出是什么原因造成的


有什么想法吗?

我没有再面对这个问题,因为我在elasticsearch中添加了这条线

index.store.fs.lock: none

我认为这是由elasticsearch的文件系统锁定造成的。如果我说Elasticsearch实例不锁定存储文件系统,它不会发生。

路径
/var/lib/Elasticsearch/data/shardicaprio/nodes/0/index/myindex/0/index
对您来说合适吗?elasticsearch是否具有写入权限?是的。路径正确,ES对其拥有完全权限。它不断地创建索引,它们很好。我上面定义的一个“索引”就导致了这个异常。我认为您的服务器上运行着两个实例。。你能检查一下吗。Ps ef | grep elasticNope@BlackPOP,当然我只运行一个实例一个节点单碎片。它是一个已经安装的centos 32位oracle jvm。我不明白。。。如果elasticsearch无法获得FS锁,它将如何写入FS中的文件?