Que faut-il hadoop.tmp.dir?
Question
Hadoop a paramètre de configuration hadoop.tmp.dir
qui, selon la documentation, est ` "Une base pour d'autres répertoires temporaires." Je présume, ce chemin fait référence au système de fichiers local.
Je mis cette valeur à /mnt/hadoop-tmp/hadoop-${user.name}
. Après le formatage du NameNode et à partir de tous les services, je vois exactement le même chemin créé sur HDFS.
Est-ce que cela signifie, hadoop.tmp.dir
fait référence à l'emplacement temporaire sur HDFS ?
La solution
Il est déroutant, mais hadoop.tmp.dir
est utilisé comme base pour les répertoires temporaires au niveau local, ainsi que dans HDFS . Le document n'est pas grande, mais mapred.system.dir
est réglé par défaut à "${hadoop.tmp.dir}/mapred/system"
, ce qui définit le chemin sur la HDFS où où la carte / Réduire les fichiers système stocke les cadres.
Si vous voulez ces pour ne pas être attachés ensemble, vous pouvez modifier votre mapred-site.xml
telle que la définition de mapred.system.dir est quelque chose qui est pas lié à ${hadoop.tmp.dir}
Autres conseils
Permettez-moi d'ajouter un peu plus à la réponse de kkrugler:
Il est trois propriétés HDFS qui contiennent hadoop.tmp.dir
dans leurs valeurs
-
dfs.name.dir
. Répertoire où NameNode stocke ses métadonnées, avec une valeur par défaut${hadoop.tmp.dir}/dfs/name
-
dfs.data.dir
:. Répertoire où les blocs de données HDFS sont stockés, avec une valeur par défaut${hadoop.tmp.dir}/dfs/data
-
fs.checkpoint.dir
:. Répertoire magasin NameNode secondaire ses points de contrôle, la valeur par défaut est${hadoop.tmp.dir}/dfs/namesecondary
Ceci est la raison pour laquelle vous avez vu le /mnt/hadoop-tmp/hadoop-${user.name}
dans vos HDFS après le formatage NameNode.
avait un regard autour de l'information sur celui-ci. La seule chose que je pourrais trouver ce poste était sur le Amazon Elastic Guide MapReduce Dev :
Dans Hadoop-site.xml, nous avons mis en hadoop.tmp.dir à / Mnt / var / lib / Hadoop / tmp. / Mnt est là nous monter les volumes EC2 « extra », qui peut contenir beaucoup plus de données que le volume par défaut. (Le montant exact dépend du type d'instance.) Hadoop de RunJar.java (le module qui décompresse les JAR) d'entrée d'interprète hadoop.tmp.dir comme un système de fichiers Hadoop chemin plutôt qu'un chemin d'accès local, il écrit à la place le chemin dans HDFS de un chemin local. HDFS est monté sous / Mnt (en particulier / Mnt / var / lib / Hadoop / DSF /. Afin que vous puissiez écrire beaucoup de données à lui.