2016-10-14 1 views
0

コアを作成しようとすると、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に関連している可能性が高いと思います。

+1

stat - bad diskへのシステムコールにスタックされているようですか? syslogは有用なものを表示していますか? (通常は物理ディスクのエラーが表示されますが、最近はRed Hatがログを記録する場所にあまり慣れていません) – MatsLindh

答えて

0

これは何らかの種類の不良なディスクになりました。私はまだ何が間違っているの底には達していない。それに直面して、ドライブにはスペースがあって、明らかな問題はありませんでした。 Solrのホームを別のマウント済みドライブに変更すると、問題が解決されました。私は前にこの行動を見たことがない、statコールは数日間放置されても戻ってこなかった。

この問題があり、代替ドライブが利用可能な場合、試してもらうことはできません。

関連する問題