solr 6.1 某节点shutdown后服务器关机造成索引文件损坏
服务器报错
Caused by: org.apache.lucene.index.CorruptIndexException:
length should be 4844094428 bytes, but is 4845065180 instead
(resource=MMapIndexInput(path="/usr/apps/solrindex/MoocResource_shard1_replica1/data/index.20210905153628031/_h2iz6.cfs"))
使用Lucene工具进行检测,指定待检测的索引目录
/usr/apps/jdk1.8.0_101/bin/java -cp /usr/apps/tools/solr-6.1.0-1/server/solr-webapp/webapp/WEB-INF/lib/lucene-core-6.1.0.jar -ea:org.apache.lucene... org.apache.lucene.index.CheckIndex /usr/apps/solrindex/MoocResource_shard1_replica1/data/index.20210905153628031/
检测损坏的索引文件
使用Lucene工具进行修复
注意,使用命令前务必备份数据并停机不能写入新数据
/usr/apps/jdk1.8.0_101/bin/java -cp /usr/apps/tools/solr-6.1.0-1/server/solr-webapp/webapp/WEB-INF/lib/lucene-core-6.1.0.jar -ea:org.apache.lucene... org.apache.lucene.index.CheckIndex /usr/apps/solrindex/MoocResource_shard1_replica1/data/index.20210905153628031/ -verbose -exorcise
重启solr服务器,等待几分钟后分片replica状态恢复正常