2

WebサイトのクロールにNutch-1.4を使用しています。クロールで直面している問題は、フェッチャーが常にN個のハングしたスレッドで異常終了することです。ログファイルのエントリは、

INFO fetcher.Fetcher --- activeThreads = 1、spinWaiting = 0、fetchQueues.totalSize = 0
INFO fetcher.Fetcher --- activeThreads = 1、spinWaiting = 0、fetchQueues.totalSize = 0
INFO fetcher.Fetcher --- activeThreads = 1、spinWaiting = 0、fetchQueues.totalSize =
0WARNfetcher.Fetcher-1つのハングしたスレッドで中止します。

この問題を解決するにはどうすればよいですか?

4

1 に答える 1

3

すべての意図にもかかわらず、一部の要求はハングしているように見えます。これは、Fetcherスレッドが長時間アクティビティを実行しない場合に発生します。こちらの932-936行を参照してください。

ここで対処する手順:

  1. このメッセージがログファイルに記録される直前に、どのURLがクロールされたかを確認してください。(ログ内の...ステートメントのフェッチを参照してください)。
  2. それらのURLはロードに時間がかかりますか?wget(同じマシンからそれらのURLを試してください。
  3. それらのページの内容は大きいですか?(サイズを確認してください))
  4. タイムアウト値は通常600秒です。hadoop構成のmapred-site.xmlの構成mapred.task.timeoutの値を増やします。(ローカルモードの場合は、nutch-site.xmlに値を大きい値で追加するだけです)
  5. 非常に時間がかかる操作(解析など)を実行していますか?アプリケーションはどこかにぶら下がっていますか?

私はあなたがこれらのことをうまくやれば、それを修正することができると思います。

これこれも読んでください。

于 2012-04-29T15:48:39.257 に答える