2013-12-11 22 views
5

多くのエラーのため、なぜdatanodeスレーブVMをマスターVMに接続していないのかわかりません。どんな提案も大歓迎ですので、試してみてください。 そして、そのうちの一つは、私の奴隷のVMログでこのエラーで、起動する:Hadoop Datanodeスレーブがマスタに接続していません

WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: ubuntu-378e53c1-3e1f-4f6e-904d-00ef078fe3f8:9000 

このため、私は私のマスターVMに私がしたいジョブを実行することはできません。

hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi 2 5 

私は、このエラー

org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/ubuntu/QuasiMonteCarlo_1386793331690_1605707775/in/part0 could only be replicated to 0 nodes instead of minReplication (=1). There are 0 datanode(s) running and no node(s) are excluded in this operation. 

と、そうであってもを与えている、hdfs dfsadmin -report(マスターVMでは)私にすべて0

を与えます
Configured Capacity: 0 (0 B) 
Present Capacity: 0 (0 B) 
DFS Remaining: 0 (0 B) 
DFS Used: 0 (0 B) 
DFS Used%: NaN% 
Under replicated blocks: 0 
Blocks with corrupt replicas: 0 
Missing blocks: 0 
Datanodes available: 0 (0 total, 0 dead) 

そのために、私はopenstack 3 vms ubuntuをマスターと他のスレーブ用にビルドします。マスターに、それはetc/hosts

127.0.0.1 localhost 
50.50.1.9 ubuntu-378e53c1-3e1f-4f6e-904d-00ef078fe3f8 
50.50.1.8 slave1 
50.50.1.4 slave2 

コア-site.xmlの

<name>fs.default.name</name> 
<value>hdfs://ubuntu-378e53c1-3e1f-4f6e-904d-00ef078fe3f8:9000</value> 
<name>hadoop.tmp.dir</name> 
<value>/home/ubuntu/hadoop-2.2.0/tmp</value> 

HDFS-site.xmlの

<name>dfs.replication</name> 
<value>3</value> 
<name>dfs.namenode.name.dir</name> 
<value>file:/home/ubuntu/hadoop-2.2.0/etc/hdfs/namenode</value> 
<name>dfs.datanode.data.dir</name> 
<value>file:/home/ubuntu/hadoop-2.2.0/etc/hdfs/datanode</value> 
<name>dfs.permissions</name> 
<value>false</value> 

mapred-site.xmlの

<name>mapreduce.framework.name</name> 
<value>yarn</value> 
に構築 をです

AスレーブVMファイルには、スレーブ1とスレーブ2の各行が含まれています。マスター VMから

すべてのログにはエラーが含まれていませんが、私は、スレーブVMを使用する場合は、接続にそのエラーを与えます。私の奴隷マシンから

Error starting NodeManager org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.net.ConnectException: Call From ubuntu-e6df65dc-bf95-45ca-bad5-f8ddcc272b76/50.50.1.8 to 0.0.0.0:8031 failed on connection exception: java.net.ConnectException: Connection refused; 

: コア-site.xmlの

<name>fs.default.name</name> 
<value>hdfs://ubuntu-378e53c1-3e1f-4f6e-904d-00ef078fe3f8:9000</value> 
<name>hadoop.tmp.dir</name> 
<value>/home/ubuntu/hadoop-2.2.0/tmp</value> 

HDFS-site.xmlの

<name>dfs.namenode.name.dir</name> 
<value>file:/home/ubuntu/hadoop-2.2.0/etc/hdfs/namenode</value> 
</property> 
<property> 
<name>dfs.datanode.data.dir</name> 
<value>file:/home/ubuntu/hadoop-2.2.0/etc/hdfs/datanode</value> 

と上とノードマネージャは、ログ内であまりにも私にエラーを与えます私/ etc/hosts

127.0.0.1 localhost 
50.50.1.8 ubuntu-e6df65dc-bf95-45ca-bad5-f8ddcc272b76 
50.50.1.9 ubuntu-378e53c1-3e1f-4f6e-904d-00ef078fe3f8 

JPS マスター

15863 ResourceManager 
15205 SecondaryNameNode 
14967 NameNode 
16194 Jps 

スレーブ

1988 Jps 
1365 DataNode 
1894 NodeManager 
+0

"ubuntu-e6df65dc-bf95-45ca-bad5-f8ddcc272b76/50.50.1.8から0.0.0.0:8031への呼び出しに失敗しました" - なぜ0.0.0.0に接続しようとしていますか? – Suman

+0

50.50.1.9に接続する必要がありますか? – fsi

答えて

4

原因エラー示すのすべて、エラー下記これはスレーブに接続習得することができていない主な理由です:

Error starting NodeManager org.apache.hadoop.yarn.exceptions.YarnRuntimeException: java.net.ConnectException: Call From ubuntu-e6df65dc-bf95-45ca-bad5-f8ddcc272b76/50.50.1.8 to 0.0.0.0:8031 failed on connection exception: java.net.ConnectException: Connection refused; 

基本的に0.0.0.0:8031yarn.resourcemanager.resource-tracker.addressのポートなので、lsof -i:8031を使用してチェックしましたが、ポートはイネーブル/オープン/許可されていませんでした。私はOpenStack(クラウド)を使用しているので、8031とエラーとボイルアを表示していた他のポートを追加して、意図して動作しました。

+0

あなたはあなたの答えにもっと冗長になりますか? –

+0

私の答えを編集しました、あなたを助けてくれることを願っています。私に0ノードを与える理由は、マスターがスレーブに接続していないためです。そのため、ログが表示されているポートをチェックする必要があります。 – fsi

0

私はずっと苦労していましたが、最終的に "systemctl stop firewalld"を使用してしまいました。これ以前にも私はselinuxとipv6も無効にしていました。

0

私の場合は、hdfs datanode -formatを使用してデータノードサーバーをフォーマットし、hdfs namenode -formatを使用してデータノードサーバーをフォーマットしました。その前に、hdfs-siteファイルに含まれているデータフォルダ内のすべてのファイルを削除してください。

関連する問題