J'ai essayé toutes les différentes solutions fournies par stackoverflow sur ce sujet, mais sans aide Demander à nouveau avec le journal spécifique et les détails
Toute aide est appréciée
J'ai un nœud maître et 5 nœuds esclaves dans mon cluster Hadoop. L'utilisateur ubuntu et le groupe ubuntu sont les propriétaires du ~/Hadoop
dossier Les deux ~/hadoop/hdfs/data
& ~/hadoop/hdfs/name
le dossier existe
et l'autorisation pour les deux dossiers est définie sur 755
formaté avec succès le namenode avant de démarrer le script start-all.sh
LE SCRIPT NE LANCE PAS LE "NAMENODE"
Ceux-ci s'exécutent sur le nœud maître
ubuntu@master:~/hadoop/bin$ jps
7067 TaskTracker
6914 JobTracker
7237 Jps
6834 SecondaryNameNode
6682 DataNode
ubuntu@slave5:~/hadoop/bin$ jps
31438 TaskTracker
31581 Jps
31307 DataNode
Vous trouverez ci-dessous le journal des fichiers journaux du nœud de nom.
..........
..........
.........
014-12-03 12:25:45,460 INFO org.Apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source jvm registered.
2014-12-03 12:25:45,461 INFO org.Apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source NameNode registered.
2014-12-03 12:25:45,532 INFO org.Apache.hadoop.hdfs.util.GSet: Computing capacity for map BlocksMap
2014-12-03 12:25:45,532 INFO org.Apache.hadoop.hdfs.util.GSet: VM type = 64-bit
2014-12-03 12:25:45,532 INFO org.Apache.hadoop.hdfs.util.GSet: 2.0% max memory = 1013645312
2014-12-03 12:25:45,532 INFO org.Apache.hadoop.hdfs.util.GSet: capacity = 2^21 = 2097152 entries
2014-12-03 12:25:45,532 INFO org.Apache.hadoop.hdfs.util.GSet: recommended=2097152, actual=2097152
2014-12-03 12:25:45,588 INFO org.Apache.hadoop.hdfs.server.namenode.FSNamesystem: fsOwner=ubuntu
2014-12-03 12:25:45,588 INFO org.Apache.hadoop.hdfs.server.namenode.FSNamesystem: supergroup=supergroup
2014-12-03 12:25:45,588 INFO org.Apache.hadoop.hdfs.server.namenode.FSNamesystem: isPermissionEnabled=true
2014-12-03 12:25:45,622 INFO org.Apache.hadoop.hdfs.server.namenode.FSNamesystem: dfs.block.invalidate.limit=100
2014-12-03 12:25:45,623 INFO org.Apache.hadoop.hdfs.server.namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
2014-12-03 12:25:45,716 INFO org.Apache.hadoop.hdfs.server.namenode.FSNamesystem: Registered FSNamesystemStateMBean and NameNodeMXBean
2014-12-03 12:25:45,777 INFO org.Apache.hadoop.hdfs.server.namenode.FSEditLog: dfs.namenode.edits.toleration.length = 0
2014-12-03 12:25:45,777 INFO org.Apache.hadoop.hdfs.server.namenode.NameNode: Caching file names occuring more than 10 times
2014-12-03 12:25:45,785 INFO org.Apache.hadoop.hdfs.server.common.Storage: Storage directory /home/ubuntu/hadoop/file:/home/ubuntu/hadoop/hdfs/name does not exist
2014-12-03 12:25:45,787 ERROR org.Apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed.
org.Apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /home/ubuntu/hadoop/file:/home/ubuntu/hadoop/hdfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.Apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.Java:304)
at org.Apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.Java:104)
at org.Apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.Java:427)
at org.Apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.Java:395)
at org.Apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.Java:299)
at org.Apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.Java:569)
at org.Apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.Java:1479)
at org.Apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.Java:1488)
2014-12-03 12:25:45,801 ERROR org.Apache.hadoop.hdfs.server.namenode.NameNode: org.Apache.hadoop.hdfs.server.common.InconsistentFSStateException: Directory /home/ubuntu/hadoop/file:/home/ubuntu/hadoop/hdfs/name is in an inconsistent state: storage directory does not exist or is not accessible.
at org.Apache.hadoop.hdfs.server.namenode.FSImage.recoverTransitionRead(FSImage.Java:304)
at org.Apache.hadoop.hdfs.server.namenode.FSDirectory.loadFSImage(FSDirectory.Java:104)
at org.Apache.hadoop.hdfs.server.namenode.FSNamesystem.initialize(FSNamesystem.Java:427)
at org.Apache.hadoop.hdfs.server.namenode.FSNamesystem.<init>(FSNamesystem.Java:395)
at org.Apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.Java:299)
at org.Apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.Java:569)
at org.Apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.Java:1479)
at org.Apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.Java:1488)
Suppression du "fichier:" du fichier hdfs-site.xml
[MAUVAIS HDFS-SITE.XML]
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hduser/mydata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hduser/mydata/hdfs/datanode</value>
</property>
[CORRECT HDFS-SITE.XML]
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hduser/mydata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hduser/mydata/hdfs/datanode</value>
</property>
Merci à Erik pour l'aide.
Suivez les étapes ci-dessous,
1.Arrêtez tous les services
2.Formatez votre namenode
3. Supprimez votre répertoire de nœud de données
4. démarrez tous les services
exécuter ces commandes sur le terminal
$ cd ~
$ mkdir -p mydata/hdfs/namenode
$ mkdir -p mydata/hdfs/datanode
donner la permission au répertoire 755
puis,
Ajoutez cette propriété dans conf/hdfs-site.xml
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hduser/mydata/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hduser/mydata/hdfs/datanode</value>
</property>
sinon travailler, alors
stop-all.sh
start-all.sh
1) Nommez le répertoire du nœud dont vous devez être le propriétaire et donnez chmod 750 de manière appropriée
2) arrêtez tous les services
3) utiliser hadoop namenode -format pour formater namenode
4) ajoutez ceci à hdfs-site.xml
<property>
<name>dfs.data.dir</name>
<value>path/to/hadooptmpfolder/dfs/name/data</value>
<final>true</final>
</property>
<property>
<name>dfs.name.dir</name>
<value>path/to/hadooptmpfolder/dfs/name</value>
<final>true</final>
</property>
5) pour exécuter hadoop namenode -format
ajouter export PATH=$PATH:/usr/local/hadoop/bin/
dans ~/.bashrc partout où hadoop est décompressé ajouter cela dans le chemin
J'ai eu un problème similaire, j'ai formaté le namenode puis l'ai démarré
Hadoop namenode -format
hadoop-daemon.sh start namenode