2

これは奇妙な問題です。ラップトップの電源が切れてシャットダウンしたときに、MRジョブ(単一ノード)を実行していました。ubuntu10.04に「バッテリーなし」の警告がないため

もう一度起動してhadoop(シングルノード)を起動しようとすると、すべてがうまくいき、コマンドラインから「jps」を発行すると、すべてのマスタープロセスとスレーブプロセスが一覧表示されます。また、「netstat -plten|grepjava」を発行してみました。

コマンドラインからの出力:

hduser @ fox:〜$ jps
10476 DataNode
1819年
10696 JobTracker
10813 TaskTracker
11741 Jps
10605 SecondaryNameNode
10360 NameNode

hduser @ fox:〜$ sudo netstat -plten | grep java
tcp 0 0 0.0.0.0:55376 0.0.0.0:* LISTEN 1000 141925 10476 / java      
tcp 0 0 0.0.0.0:42352 0.0.0.0:* LISTEN 1000 141790 10360 / java      
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 1000 142727 10360 / java      
tcp 0 0 0.0.0.0:50010 0.0.0.0:* LISTEN 1000 142818 10476 / java      
tcp 0 0 0.0.0.0:50075 0.0.0.0:* LISTEN 1000 143308 10476 / java      
tcp 0 0 0.0.0.0:50020 0.0.0.0:* LISTEN 1000 146358 10476 / java      
tcp 0 0 127.0.0.1:38533 0.0.0.0:* LISTEN 1000 143217 10813 / java      
tcp 0 0 102.173.156.27:54310 0.0.0.0:* LISTEN 1000 141913 10360 / java      
tcp 0 0 102.173.156.27:54311 0.0.0.0:* LISTEN 1000 142359 10696 / java      
tcp 0 0 0.0.0.0:50090 0.0.0.0:* LISTEN 1000 142827 10605 / java      
tcp 0 0 0.0.0.0:56779 0.0.0.0:* LISTEN 1000 142191 10605 / java      
tcp 0 0 0.0.0.0:55373 0.0.0.0:* LISTEN 1000 142251 10696 / java      
tcp 0 0 0.0.0.0:50030 0.0.0.0:* LISTEN 1000 142921 10696 / java

ジョブトラッカーのログファイルを確認しました。

2013-01-09 16:40:52,286警告org.apache.hadoop.hdfs.DFSClient:ブロックnullのエラー回復baddatanode[0]ノード==null
2013-01-09 16:40:52,286警告org.apache.hadoop.hdfs.DFSClient:ブロックの場所を取得できませんでした。ソースファイル"/home/hduser/hadoop/tmpnew/mapred/system/jobtracker.info"-中止しています...
2013-01-09 16:40:52,286警告org.apache.hadoop.mapred.JobTracker:ファイルhdfs:// master:54310 / home / hduser / hadoop / tmpnew / mapred / system / jobtracker.infoへの書き込みに失敗しました!
2013-01-09 16:40:52,287警告org.apache.hadoop.mapred.JobTracker:ファイルシステムの準備がまだできていません!
2013-01-09 16:40:52,290警告org.apache.hadoop.mapred.JobTracker:リカバリマネージャーの初期化に失敗しました。
org.apache.hadoop.ipc.RemoteException:java.io.IOException:ファイル/home/hduser/hadoop/tmpnew/mapred/system/jobtracker.infoは、1つではなく0つのノードにのみ複製できました。
    org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558)で
    org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696)で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)で
    java.lang.reflect.Method.invoke(Method.java:597)で
    org.apache.hadoop.ipc.RPC $ Server.call(RPC.java:563)で
    org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1388)で
    org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1384)で
    java.security.AccessController.doPrivileged(ネイティブメソッド)で
    javax.security.auth.Subject.doAs(Subject.java:396)で
    で
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
    org.apache.hadoop.ipc.Server $ Handler.run(Server.java:1382)で
    org.apache.hadoop.ipc.Client.call(Client.java:1070)で
    org.apache.hadoop.ipc.RPC $ Invoker.invoke(RPC.java:225)で
    $ Proxy5.addBlock(不明なソース)で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)で
    java.lang.reflect.Method.invoke(Method.java:597)で
    org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)で
    org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)で
    $ Proxy5.addBlock(不明なソース)で
    org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream.locateFollowingBlock(DFSClient.java:3510)で
    org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream.nextBlockOutputStream(DFSClient.java:3373)で
    org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream.access $ 2600(DFSClient.java:2589)で
    org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream $ DataStreamer.run(DFSClient.java:2829)で
2013-01-09 16:41:02,291警告org.apache.hadoop.mapred.JobTracker:再試行しています...
2013-01-09 16:41:02,331警告org.apache.hadoop.hdfs.DFSClient:DataStreamer例外:org.apache.hadoop.ipc.RemoteException:java.io.IOException:ファイル/ home / hduser / hadoop / tmpnew / mapred / system / jobtracker.infoは、1ノードではなく0ノードにのみ複製できました。
    org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558)で
    org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696)で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)で
    java.lang.reflect.Method.invoke(Method.java:597)で
    org.apache.hadoop.ipc.RPC $ Server.call(RPC.java:563)で
    org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1388)で
    org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1384)で
    java.security.AccessController.doPrivileged(ネイティブメソッド)で
    javax.security.auth.Subject.doAs(Subject.java:396)で
    org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)で
    org.apache.hadoop.ipc.Server $ Handler.run(Server.java:1382)で

    org.apache.hadoop.ipc.Client.call(Client.java:1070)で
    org.apache.hadoop.ipc.RPC $ Invoker.invoke(RPC.java:225)で
    $ Proxy5.addBlock(不明なソース)で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)で
    java.lang.reflect.Method.invoke(Method.java:597)で
    org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)で
    org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)で
    $ Proxy5.addBlock(不明なソース)で
    org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream.locateFollowingBlock(DFSClient.java:3510)で
    org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream.nextBlockOutputStream(DFSClient.java:3373)で
    org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream.access $ 2600(DFSClient.java:2589)で
    org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream $ DataStreamer.run(DFSClient.java:2829)で

URLを使用してタスクトラッカーを表示できません-master:50060

そのため、タスクトラッカーが正しく起動していないように感じます。

感謝します。

4

2 に答える 2

1

HDFSがセーフモードになっていないことを確認してください。そうでない場合は、「bin / hadoopdfsadmin-safemodeleave」を使用してこれを行います。

于 2013-01-10T00:21:03.017 に答える
0

namenode形式からエラーが持続しました。新規インストールで別のユーザーアカウントを設定する必要がありました。問題が解決しました。

于 2013-01-27T22:47:33.463 に答える