2017-09-26 13 views
0

すべてのUbuntu 16.04を使用して、4ノードでHadoopクラスタを構築しようとしています。Hadoop YARNはデータノードからリソースマネージャを起動できません(EC2のUbuntu 16.04)

すべてが正常に動作するようです、と名前ノードをフォーマットまたはstart-dfs.shstart-yarn.sh

の実行中にログファイルには、すべてのエラーを生成しません。しかし、私はHDFSにファイルをアップロードしようとすると、datanodesは、接続に問題があるようですリソースマネージャに送信します。名前ノード上の一般的なエラーが0実行しているノードとデータノードのログファイルがあることを私に語ったが、私に教え:

INFO org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl: Registering with RM using containers :[] 
INFO org.apache.hadoop.ipc.Client: Retrying connect to server: ip-10-0-0-190.eu-central-1.compute.internal/10.0.0.190:8025. Already tried 0 time(s); maxRetries=45 

それは名前ノードのプライベートIPアドレスに向けてポイント(10-0-0-190 )、同じVPC内の異なるEC2インスタンス。

糸-site.xmlには、すべてのノード(データと名前ノードの両方)のために同じに見えるすべての名前ノードの方を向いて:

<?xml version="1.0"?> 
<!-- 
    ... 
--> 
<configuration> 
    <property> 
     <name>yarn.nodemanager.aux-services</name> 
     <value>mapreduce_shuffle</value> 
    </property> 
    <property> 
     <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name> 
     <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
    </property> 
    <property> 
     <name>yarn.resourcemanager.resource-tracker.address</name> 
     <value>10.0.0.190:8025</value> 
    </property> 
    <property> 
     <name>yarn.resourcemanager.scheduler.address</name> 
     <value>10.0.0.190:8030</value> 
    </property> 
    <property> 
     <name>yarn.resourcemanager.address</name> 
     <value>10.0.0.190:8050</value> 
    </property> 
</configuration> 

私は私が間違ってやっているものを見つけることができず、これらのログのエラー/警告に基づいて、何がうまくいかないかを知ることは難しいです。

お願いします。必要に応じて詳細/ログ/設定の詳細を提供することができます。

+0

データノードから名前ノードに接続できますか? 'telnet 10.0.0.190 8025' –

+0

Thx Sergey、私はコマンドを実行しても応答がありません。サーバはSSH、ポート22のみでアクセスできます。同じVPC内にあっても、namenodeのファイアウォール設定を調整する必要がありますか?そしてこれは私がもっと多くの港を開くべきことを意味しますか?セキュリティはどうですか? – Dendrobates

+0

正しい方向に私を指摘してくれてありがとう:私は正しい方法でファイアウォールを構成しなかった。 Hadoopネットワーク内のサーバー間のすべての(関連する)受信トラフィックを開く必要があります。 AWSを使用する場合は、セキュリティグループに移動し、セキュリティグループのすべてのTCPを許可します。あなたの返信は – Dendrobates

答えて

0

データノードの/ etc/hostsファイルを更新しましたか?また、データノード上でjpsコマンドを実行して、それらが実行中であるかどうかを確認します。

+0

thxです。 jpsは '26053 Jps、25615 DataNode、25743 NodeManager'を返す。ホストは、次のようになります。 '10.0.0.190のHadoop-master' ' 10.0.0.190のHadoop-snn' '10.0.0.83のHadoopスレーブ-1 ' ' 10.0.0.244のHadoopスレーブ-2' '10.0.0.185のHadoopすべてのノードで-slave-3を使用します – Dendrobates

+0

yarn.resourcemanager.addressプロパティに8050ではなくポート8032を使用できますか? – Praful

+0

正しい方向に私を指摘してくれてありがとう:私は正しい方法でファイアウォールを構成しなかった。 Hadoopネットワーク内のサーバー間のすべての(関連する)受信トラフィックを開く必要があります。 AWSを使用する場合は、セキュリティグループに移動し、セキュリティグループのすべてのTCPを許可します。 – Dendrobates

関連する問題