我最近升级到了oss1.3 rc3,使用调度程序时遇到了一些困难
9/24/12 12:49:00 PM 9/24/12 12:49:00 PM 0点00分00秒 指数 - 优化 优化开始 org.apache.lucene.store.AlreadyClosedException:此目录已关闭 9/24/12 12:49:00 PM 9/24/12 12:49:00 PM 0点00分00秒 网络爬虫 - 停止 没有运行
9/24/12 12:48:00 PM 9/24/12 12:48:12 PM 〇时00分12秒 指数 - 优化 优化开始 org.apache.lucene.store.AlreadyClosedException:此目录已关闭 9/24/12 12:38:00 PM 9/24/12 12:48:00 PM ○点10分00秒 网络爬虫 - 停止 10分钟后没有停止
我尝试检查日志文件,如下所示:
00:00:00,001 root - 无法强制解锁另一个索引器组件所持有的NativeFSLock:/data/test/index/20120922160504/write.lock org.apache.lucene.store.LockReleaseFailedException:无法强制解锁另一个索引器组件所持有的NativeFSLock:/data/test/index/20120922160504/write.lock 在org.apache.lucene.store.NativeFSLock.release(NativeFSLockFactory.java:274) 在org.apache.lucene.index.IndexWriter.unlock(IndexWriter.java:5739) 在com.jaeksoft.searchlib.index.WriterLocal.unlock(未知来源) 在com.jaeksoft.searchlib.index.WriterLocal.close(未知来源) 在com.jaeksoft.searchlib.index.WriterLocal.optimizeNoLock(未知来源) 在com.jaeksoft.searchlib.index.WriterLocal.optimize(未知来源) 在com.jaeksoft.searchlib.index.IndexSingle.optimize(未知来源) 在com.jaeksoft.searchlib.Client.optimize(未知来源) 在com.jaeksoft.searchlib.scheduler.task.TaskOptimizeIndex.execute(未知来源) 在com.jaeksoft.searchlib.scheduler.TaskItem.run(未知来源) 在com.jaeksoft.searchlib.scheduler.JobItem.run(未知来源) 在com.jaeksoft.searchlib.scheduler.TaskManager.execute(未知来源) 在org.quartz.core.JobRunShell.run(JobRunShell.java:216) 在org.quartz.simpl.SimpleThreadPool $ WorkerThread.run(SimpleThreadPool.java:549)
提前致谢。
答案 0 :(得分:1)
我想你已经解决了这个问题。
当OpenSearchServer在索引中写入时,会创建文件“write.lock”。在某些情况下(服务器崩溃,应用程序被杀死),此文件可能不会自动删除。
以下是解决此问题的方法: - 停止OpensearchServer。 - 删除名为“write.lock”的文件。 - 重新启动OpenSearchServer。
有时,在使用调度程序时,您可能会有并发作业,它们会尝试同时更新索引。典型的调度程序作业将执行以下任务: - 停止网络爬虫。 - 优化索引。 - 复制索引。 - 启动网络爬虫。
我希望这会有用。