ES报错:
Caused by: org.apache.lucene.store.LockObtainFailedException: Lock held by another xxx write.lock
这是ES异常关闭导致索引的写锁未释放,索引一直处于red状态
解决方法:
1. 停掉ES服务
2. 找到相应的数据目录,找到对应的索引写锁文件write.lock所在位置,删除该文件
3. 启动ES服务
如果有很多个索引都是该报错,可以使用批量处理的方法
批量处理方法:
1. 停掉ES服务
2. 进入数据目录:cd nodes/0/
3. 查看写锁:find . -name write.lock > lock_list.txt
4. 批量删除写锁
#!/bin/bash
# delete write.lock
for i in `cat lock_list.txt`
do
rm -f $i
done