web-dev-qa-db-fra.com

Que fera la commande "hadoop namenode -format"

J'essaie d'apprendre Hadoop en suivant un tutoriel et en essayant de passer en mode pseudo-distribué sur ma machine.

Mon core-site.xml est:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
   <property>
      <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
      <description>The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation.       
      </description>   
   </property>
</configuration>

Mon fichier hdfs-site.xml est:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
      <description>The actual number of replications can be specified when the
        file is created.
      </description>
   </property>
</configuration>

Mon fichier mapred-site.xml est:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
   <property>      
      <name>mapred.job.tracker</name>
      <value>localhost:9001</value>
      <description>The Host and port that the MapReduce job tracker runs
        at.
      </description>
   </property>
</configuration>

Lorsque j'exécute la commande, elle a été exécutée avec succès, mais ce qu'elle fait réellement:

hadoop-1.2.1$ bin/hadoop namenode -format
14/11/26 12:37:16 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   Host = myhost/127.0.0.8
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 1.2.1
STARTUP_MSG:   build = https://svn.Apache.org/repos/asf/hadoop/common/branches/branch-1.2 -r 1503152; compiled by 'mattf' on Mon Jul 22 15:23:09 PDT 2013
STARTUP_MSG:   Java = 1.6.0_45
************************************************************/
14/11/26 12:37:17 INFO util.GSet: Computing capacity for map BlocksMap
14/11/26 12:37:17 INFO util.GSet: VM type       = 64-bit
14/11/26 12:37:17 INFO util.GSet: 2.0% max memory = 932118528
14/11/26 12:37:17 INFO util.GSet: capacity      = 2^21 = 2097152 entries
14/11/26 12:37:17 INFO util.GSet: recommended=2097152, actual=2097152
14/11/26 12:37:17 INFO namenode.FSNamesystem: fsOwner=myuser
14/11/26 12:37:17 INFO namenode.FSNamesystem: supergroup=supergroup
14/11/26 12:37:17 INFO namenode.FSNamesystem: isPermissionEnabled=true
14/11/26 12:37:17 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
14/11/26 12:37:17 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
14/11/26 12:37:17 INFO namenode.FSEditLog: dfs.namenode.edits.toleration.length = 0
14/11/26 12:37:17 INFO namenode.NameNode: Caching file names occuring more than 10 times 
14/11/26 12:37:17 INFO common.Storage: Image file /tmp/hadoop-myuser/dfs/name/current/fsimage of size 115 bytes saved in 0 seconds.
14/11/26 12:37:18 INFO namenode.FSEditLog: closing edit log: position=4, editlog=/tmp/hadoop-myuser/dfs/name/current/edits
14/11/26 12:37:18 INFO namenode.FSEditLog: close success: truncate to 4, editlog=/tmp/hadoop-myuser/dfs/name/current/edits
14/11/26 12:37:18 INFO common.Storage: Storage directory /tmp/hadoop-myuser/dfs/name has been successfully formatted.
14/11/26 12:37:18 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at chaitanya-OptiPlex-3010/127.0.0.8
************************************************************/

Quelqu'un peut-il s'il vous plaît laissez-moi savoir ce qu'il fait en interne.

Je suis passé par ces messages mais il n'y a pas d'explication correcte.

Quel est exactement le formatage hadoop namenode?

hadoop namenode n'est pas formaté

Comment puis-je vérifier cela pratiquement sur ma machine afin de pouvoir voir les différences avant et après l'exécution de la commande. Je suis nouveau sur Hadoop, cela peut donc être une question triviale.

14
learner

Hadoop namenode -format

  • Le répertoire namenode Hadoop contient les fichiers fsimage et edit qui contiennent les informations de base sur le système de fichiers Hadoop, tels que l'emplacement où estdata, les fichiers créés par l'utilisateur de cette manière 

  • Si vous formatez le namenode, les informations ci-dessus sont supprimées du répertoire namenode spécifié dans le fichier hdfs-site.xml sous la forme dfs.namenode.name.dir.

  • Mais vous avez toujours les données sur le hadoop mais pas les méta-données namenode

7
Rengasamy

hadoop namenode -format cette commande supprime tous les fichiers de vos fichiers hdfs.

le répertoire tmp contient deux dossiers datanode, namenode dans le système de fichiers local. si vous formatez le nom de code, ces deux dossiers deviennent vides.

Remarque: si vous souhaitez formater votre namenode, arrêtez d'abord tous les services Hadoop, puis supprimez le dossier tmp (contient le namenode et le datanode) de votre système de fichiers local et démarrez le service hadoop, il entrera sûrement en vigueur.

Raison pour Hadoop namenode -format:

Hadoop NameNode est l'emplacement centralisé d'un système de fichiers HDFS qui conserve l'arborescence de répertoires de tous les fichiers du système de fichiers et assure le suivi de la conservation des données du fichier dans le cluster. En bref, il conserve les métadonnées liées aux codes de données. Lorsque nous formateons namenode, il met en forme les méta-données liées aux nœuds de données. En faisant cela, toutes les informations sur les datanodes sont perdues et elles peuvent être réutilisées pour de nouvelles données.

Par par défaut le namenode location sera à "/ tmp/hadoop-myuser/dfs/name"

Pendant le formatage du nom de code, cet emplacement de fichier a été effacé.

Pour changez l’emplacement du namenode ajoutez les propriétés suivantes At hdfs-site.xml

<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/search/data/dfs/namenode</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/search/data/dfs/datanode</value>
</property>

J'espère que cela t'aidera.. :-)

11
Suresh Ram

En fait, le formatage d'un Namenode ne formatera pas le Datanode.

Il ne fera que formater le contenu de votre namenode (qui contient les détails du datanode). Votre nom d'utilisateur ne saura plus où se trouvent vos données. De plus, namenode -format attribuera un nouvel ID d’espace de noms au namenode

Vous devez changer votre namespaceID dans votre datanode pour que votre datanode fonctionne. Ce sera à dfs/data/current/VERSION

Il existe une JIRA ouverte pour la même chose qui suggère de formater Datanode également lorsque vous formater Namenode. HDFS-107

2
Kumar

Namenode contient des métadonnées sur le système de fichiers Hadoop. 

Cette commande (hadoop-1.2.1 $ bin/hadoop namenode -format) formatera l'ensemble du système de fichiers distribués (HDFS) Hadoop. Donc, si vous exécutez cette commande sur un système de fichiers existant, vous perdrez toutes vos données. 

2
abhijeet dhumal

Etapes Démarrer tous les services en utilisant "start-all.sh"

vérifie que les services sont en cours d'exécution ou n'utilisent pas "JPS" remarque: si vous utilisez hadoop2.3.0, vous devez exécuter les services suivants.

Namenode
Datanode
Resourcemanager
Nodemanager

Déplacez un fichier de local à HDFS en utilisant hdfs -put /

Maintenant, vérifiez à l’emplacement "/ tmp/hadoop-myuser/dfs/name", ce fichier peut être divisé en plusieurs blocs de 64 Mo chacun.

Puis démarrez le formatage à l'aide de **hadoop namenode -format**Maintenant, le fichier n'est pas disponible physiquement à cet emplacement.

Informations complémentaires cliquez ici