2016-10-13 17 views
8

Hadoopクラスター(HDP 2.1)があります。すべては、長い時間のために働いてきたが、突然、ジョブは、以下の再発のエラー戻り始めていますHadoop:ジョブ履歴サーバーにリダイレクトするときのNullPointerException

  • https://issues.apache.org/jira/browse/MAPREDUCE-5703
  • https://issues.apache.org/jira/browse/MAPREDUCE-5547

    16/10/13 16:21:11 INFO Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS 
    16/10/13 16:21:12 INFO Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS 
    16/10/13 16:21:12 INFO impl.TimelineClientImpl: Timeline service address: http://dev-fiwr-bignode-12.hi.inet:8188/ws/v1/timeline/ 
    16/10/13 16:21:13 INFO client.RMProxy: Connecting to ResourceManager at dev-fiwr-bignode-12.hi.inet/10.95.76.79:8050 
    16/10/13 16:21:13 INFO input.FileInputFormat: Total input paths to process : 2 
    16/10/13 16:21:13 INFO mapreduce.JobSubmitter: number of splits:2 
    16/10/13 16:21:13 INFO Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS 
    16/10/13 16:21:14 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1476366871137_0003 
    16/10/13 16:21:14 INFO impl.YarnClientImpl: Submitted application application_1476366871137_0003 
    16/10/13 16:21:14 INFO mapreduce.Job: The url to track the job: http://dev-fiwr-bignode-12.hi.inet:8088/proxy/application_1476366871137_0003/ 
    16/10/13 16:21:14 INFO mapreduce.Job: Running job: job_1476366871137_0003 
    16/10/13 16:21:19 INFO mapreduce.Job: Job job_1476366871137_0003 running in uber mode : false 
    16/10/13 16:21:19 INFO mapreduce.Job: map 0% reduce 0% 
    16/10/13 16:21:23 INFO mapreduce.Job: map 50% reduce 0% 
    16/10/13 16:21:24 INFO mapreduce.Job: map 100% reduce 0% 
    16/10/13 16:21:28 INFO mapreduce.Job: map 100% reduce 100%\ 
    6/10/13 16:21:29 INFO mapred.ClientServiceDelegate: Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server 
    16/10/13 16:21:29 INFO mapred.ClientServiceDelegate: Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server 
    16/10/13 16:21:29 INFO mapred.ClientServiceDelegate: Application state is completed. FinalApplicationStatus=SUCCEEDED. Redirecting to job history server 
    Exception in thread \"main\" java.io.IOException: 
    org.apache.hadoop.ipc.RemoteException(java.lang.NullPointerException): java.lang.NullPointerException 
    org.apache.hadoop.mapreduce.v2.hs.HistoryClientService$HSClientProtocolHandler.getTaskAttemptCompletionEvents(HistoryClientService.java:277) 
    org.apache.hadoop.mapreduce.v2.api.impl.pb.service.MRClientProtocolPBServiceImpl.getTaskAttemptCompletionEvents(MRClientProtocolPBServiceImpl.java:173) 
    org.apache.hadoop.yarn.proto.MRClientProtocol$MRClientProtocolService$2.callBlockingMethod(MRClientProtocol.java:283) 
    org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585) 
    org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928) 
    org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2013) 
    org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2009) 
    java.security.AccessController.doPrivileged(Native Method) 
    javax.security.auth.Subject.doAs(Subject.java:415) 
    org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594) 
    org.apache.hadoop.ipc.Server$Handler.run(Server.java:2007) 
    org.apache.hadoop.mapred.ClientServiceDelegate.invoke(ClientServiceDelegate.java:334) 
    org.apache.hadoop.mapred.ClientServiceDelegate.getTaskCompletionEvents(ClientServiceDelegate.java:386) 
    org.apache.hadoop.mapred.YARNRunner.getTaskCompletionEvents(YARNRunner.java:539) 
    org.apache.hadoop.mapreduce.Job$5.run(Job.java:668) 
    org.apache.hadoop.mapreduce.Job$5.run(Job.java:665) 
    java.security.AccessController.doPrivileged(Native Method) 
    javax.security.auth.Subject.doAs(Subject.java:415) 
    org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1594) 
    org.apache.hadoop.mapreduce.Job.getTaskCompletionEvents(Job.java:665) 
    org.apache.hadoop.mapreduce.Job.monitorAndPrintJob(Job.java:1366) 
    org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1306) 
    dijkstra.adjacencylist.AdjacencyListDriver.jobRun(AdjacencyListDriver.java:53) 
    dijkstra.adjacencylist.AdjacencyListDriver.run(AdjacencyListDriver.java:31) 
    org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 
    org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84) 
    dijkstra.launch.LaunchClass.launchAdjMatrix(LaunchClass.java:226) 
    dijkstra.launch.LaunchClass.main(LaunchClass.java:199) 
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    java.lang.reflect.Method.invoke(Method.java:606) 
    org.apache.hadoop.util.RunJar.main(RunJar.java:212) 
    Caused by: 
    org.apache.hadoop.ipc.RemoteException(java.lang.NullPointerException): 
    java.lang.NullPointerException 
    org.apache.hadoop.mapreduce.v2.hs.HistoryClientService$HSClientProtocolHandler.getTaskAttemptCompletionEvents(HistoryClientService.java:277) 
    ... 
    

    ビットをグーグルが、私はこれらの問題を見てきました

これらは関連しているようです。それでも、今までクラスタが正常に動作していたのはなぜですか?設定で変更されたものは何もなく、clsuterはセーフモードではなく、HDFSのスペース使用量は約0.03%です...手がかりはありますか?そして、これが上記の問題に関連している場合、回避策はありますか?

多くのおかげで、私はあなたの答えや追加情報の要件に合わせて調整されます。

+0

ただ1つ確認してください。ジョブ実行後に出力ファイルに何かを書き込んでいますか? 通常、分散システムにはネットワークとハードウェアの障害の問題がありますが、それは避けられません。今、私は実際の問題が何であるか知りたいと思っています。 – Azim

+0

@Azim、仕事は内部的には他にもいくつかの仕事をしているようです...私はそのような考えが好きではありません。とにかく仕事の開発者ではなく、クラスタの管理者です。そう言えば、ユーザーは私に、サブジョブがHDFSで仕上げと書き込みをする最初の束を教えてくれます。問題は2番目のジョブであり、履歴サーバがNPEを上げるため、HDFSには何も書き込まれません。 – frb

答えて

0

あなたの問題は、スタックトレースから判断すると、5703と同様であり、そのバグに述べたように:

「方法GetTaskAttemptCompletionEventsResponse()verifyAndGetJob()を呼び出すことによって、ジョブをフェッチしますが、仕事であった場合、それはチェックされませんこの問題の根本原因となったのはnullかどうか。

ジョブIDを使用してジョブルックアップがあり、ジョブが見つかりません。

このバグでは、ジョブヒストリサーバー(JHS)が完了したジョブについて照会されるが、JHSはそのジョブの情報を受け取れなかったシナリオをリストしています。

ジョブの終了のアップロードに失敗した場合、この例外が発生する可能性のあるジョブの終了とジョブの履歴のアップロードに関する未解決の問題があるようです。このバグでは、履歴のアップロードが完了する前にノードを再起動したり、ノードに履歴を書き込むノードがない場合に問題が発生しました。

残念ながら、あなたのケースで履歴のアップロードが失敗した原因を特定するのに役立つものはありませんが、問題の根本的な原因と思われます。ジョブ履歴サーバーに正常に完了したジョブの記録がありません。

+0

あなたの答えをありがとう。詳細については、元の投稿に追加したコメントを確認してください。 – frb

関連する問題