コアを作成しようとすると、Solrがハングアップする原因を特定するのに役立つことができます。これは、起動時にSolrがコアを作成しようとしたとき、および特にコアを作成するように要求されたときに、Red Hat Linuxマシンで発生します。これは、Luceneインデックスと 'write.lock'ファイルのデータディレクトリを作成しますが、プロセスは停止します。 Solrはまだ応答しますが、コアはローディングフェーズでスタックしています。SolrがLinux OS上でコアを作成するのを掛ける原因は何ですか?
私はスレッドダンプからこれを選んだ:私は権限をチェックして
coreLoadExecutor-6-thread-1 (25)
sun.nio.fs.UnixNativeDispatcher.stat0(Native Method)
sun.nio.fs.UnixNativeDispatcher.stat(UnixNativeDispatcher.java:286)
sun.nio.fs.UnixFileAttributes.get(UnixFileAttributes.java:70)
sun.nio.fs.UnixFileStore.devFor(UnixFileStore.java:55)
sun.nio.fs.UnixFileStore.<init>(UnixFileStore.java:70)
sun.nio.fs.LinuxFileStore.<init>(LinuxFileStore.java:48)
sun.nio.fs.LinuxFileSystem.getFileStore(LinuxFileSystem.java:112)
sun.nio.fs.UnixFileSystem$FileStoreIterator.readNext(UnixFileSystem.java:213)
sun.nio.fs.UnixFileSystem$FileStoreIterator.hasNext(UnixFileSystem.java:224)
org.apache.lucene.util.IOUtils.getFileStore(IOUtils.java:543)
org.apache.lucene.util.IOUtils.spinsLinux(IOUtils.java:487)
org.apache.lucene.util.IOUtils.spins(IOUtils.java:476)
org.apache.lucene.util.IOUtils.spins(IOUtils.java:451)
org.apache.lucene.index.ConcurrentMergeScheduler.initDynamicDefaults(ConcurrentMergeScheduler.java:376)
org.apache.lucene.index.ConcurrentMergeScheduler.merge(ConcurrentMergeScheduler.java:464)
org.apache.lucene.index.IndexWriter.waitForMerges(IndexWriter.java:2425)
org.apache.lucene.index.IndexWriter.shutdown(IndexWriter.java:1118)
org.apache.lucene.index.IndexWriter.close(IndexWriter.java:1162)
org.apache.solr.update.SolrIndexWriter.close(SolrIndexWriter.java:142)
org.apache.solr.core.SolrCore.initIndex(SolrCore.java:588)
org.apache.solr.core.SolrCore.<init>(SolrCore.java:762)
org.apache.solr.core.SolrCore.<init>(SolrCore.java:688)
org.apache.solr.core.CoreContainer.create(CoreContainer.java:838)
org.apache.solr.core.CoreContainer.lambda$load$0(CoreContainer.java:494)
org.apache.solr.core.CoreContainer$$Lambda$25/1297978429.call(Unknown Source)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:229)
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$$Lambda$26/348984985.run(Unknown Source)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
java.lang.Thread.run(Thread.java:745)
これは「DestroyJavaVMは(28)」、むしろ不気味と共に最長実行中のスレッドである
をし、 solrconfigでさまざまなインデックス設定を試しました。 Solrの同じインストール/設定は他のマシンでうまく動作します。私はこれがファイルシステムやOSに関連している可能性が高いと思います。
stat - bad diskへのシステムコールにスタックされているようですか? syslogは有用なものを表示していますか? (通常は物理ディスクのエラーが表示されますが、最近はRed Hatがログを記録する場所にあまり慣れていません) – MatsLindh