Hadoop Datanode esclave ne se connecte pas à mon maître
À cause de beaucoup d'erreur je ne peux pas comprendre pourquoi il se passe dans la non connexion datanode esclave vm dans ma vm principale. Toute suggestion est la bienvenue, afin que je puisse l'essayer.
Et pour commencer, l'un d'eux est cette erreur dans mon esclave vm journal:
WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Problem connecting to server: ubuntu-378e53c1-3e1f-4f6e-904d-00ef078fe3f8:9000
À cause de cela, je ne peux pas exécuter le travail que je veux dans ma vm principale:
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi 2 5
qui me donne cette erreur
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.
et même alors, le hdfs dfsadmin -report
(à master vm) donne-moi de tous les 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)
Pour cela, j'ai créer sur openstack 3 vm ubuntu, l'une pour le maître et les autres esclaves.
en master, c'est construire dans 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
core-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>
Et mon esclave vm fichier contient chaque ligne: slave1 et slave2.
Tous les journaux de maître vm contient pas d'erreur, mais lorsque j'utilise l'esclave de la vm, il vous donne l'erreur de se connecter. et le nodemanager me donne l'erreur trop à l'intérieur du journal:
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;
De mon Esclave de la Machine:
core-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>
et dans mon /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
Les juges de paix
maître
15863 ResourceManager
15205 SecondaryNameNode
14967 NameNode
16194 Jps
esclave
1988 Jps
1365 DataNode
1894 NodeManager
il doit être connecté à 50.50.1.9?
OriginalL'auteur fsi | 2013-12-11
Vous devez vous connecter pour publier un commentaire.
La cause de toutes les erreurs montrant, cette erreur ci-dessous est la principale raison de ne pas été en mesure de master connecter à l'esclave:
Fondamentalement,
0.0.0.0:8031
est le port deyarn.resourcemanager.resource-tracker.address
, donc j'ai vérifié à l'aide de lsof-i :8031, le port n'était pas activer/open/autorisés. Depuis que je suis à l'aide d'OpenStack(cloud), ajouté 8031 et d'autres ports qui montrait erreur et voilá, a travaillé comme intention.Édité ma réponse, j'espère que cela vous a aidé. La raison de me donner 0 nœuds, il~s, car le maître n'est pas de la connexion à l'esclave, il doit vérifier les ports où les journaux sont à l'affiche.
OriginalL'auteur fsi
Dans mon cas, j'ai utilisé hdfs datanode -format datanode serveur, hdfs namenode -format datanode serveur. avant cela, assurez-vous de supprimer tous les fichiers dans le dossier de données qui sont inclus dans hdfs-site fichier.
OriginalL'auteur Richard Luo
J'ai eu beaucoup de mal, a finalement obtenu après l'utilisation de "systemctl stop firewalld" avant cela, j'ai aussi désactivé selinux et ipv6.
OriginalL'auteur HD User