1

Hadoop を起動すると、JobTracker 以外のすべて (tasktracker、namenode、datanode、secondarynamenode) が起動します。

JobTracker ログでは、mapred-site.xml でポート 54311 で mapred.job.tracker を定義したにもかかわらず、ホストのポート 50030 への接続に問題があることがわかります。ここで何か誤解していますか?そもそもなぜポート 50030 に接続しようとしているのですか?

また、何らかの理由で、ホスト名とホスト IP を連結し、その後にポート番号 50030 を付けたアドレスにバインドしようとしています。これは正常ですか?

... 正直なところ、ログのエラー メッセージを実際に理解しているかどうか 100% 確信が持てないので、投稿します。

2012-06-15 11:50:51,538 INFO org.apache.hadoop.mapred.JobTracker: Scheduler configured with (memSizeForMapSlotOnJT, memSizeForReduceSlotOnJT, limitMaxMemForMapTasks, limitMaxMemForReduceTasks) (-1, -1, -1, -1)
2012-06-15 11:50:51,579 INFO org.apache.hadoop.ipc.metrics.RpcMetrics: Initializing RPC Metrics with hostName=JobTracker, port=54311
2012-06-15 11:50:51,644 INFO org.mortbay.log: Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog
2012-06-15 11:50:51,753 INFO org.apache.hadoop.http.HttpServer: Port returned by webServer.getConnectors()[0].getLocalPort() before open() is -1. Opening the listener on 50030
2012-06-15 11:50:51,755 FATAL org.apache.hadoop.mapred.JobTracker: java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind(Native Method)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
        at org.mortbay.jetty.nio.SelectChannelConnector.open(SelectChannelConnector.java:216)
        at org.apache.hadoop.http.HttpServer.start(HttpServer.java:425)
        at org.apache.hadoop.mapred.JobTracker.<init>(JobTracker.java:1628)
        at org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:183)
        at org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:175)
        at org.apache.hadoop.mapred.JobTracker.main(JobTracker.java:3702)

前もって感謝します。

編集: Chris との話し合いの後、私の同僚がそのポートを使用していた可能性があるという知識に基づいた推測を行います。わからない、月曜日に状況が良くなったら見てみよう。

4

4 に答える 4

0

これは魅力のように機能します

<property>
  <name>mapred.job.tracker</name>
  <value>localhost:50031</value>
</property>
<property>
  <name>mapred.job.tracker.http.address</name>
  <value>0.0.0.0:50032</value>
</property>
于 2014-07-11T20:56:49.340 に答える
0

mapred.job.trackerと混同する場合がありますmapred.job.tracker.http.address

この実験を試すmapred-site.xml

<property>
  <name>mapred.job.tracker</name>
  <value>localhost:50031</value>
</property>
<property>
  <name>mapred.job.tracker.http.address</name>
  <value>0.0.0.0:50032</value>
</property>

次に、あなたのことをしてstart-mapred.sh、に行きますhttp://X.X.X.X:50032/jobtracker.jsp

これにより、疑わしい特定のポートが除外され、2 つの異なるポートが重要であることが示されます。

おそらく、同じマシンの同じポートを別の目的で再利用しようとしていたのでしょう。

于 2013-06-11T19:12:49.717 に答える
0

私にとっては、スレーブサーバーを再起動することが役に立ちました。再起動後、ネットワーク インターフェイスが稼働していることを確認してください。

于 2013-09-12T09:15:22.220 に答える