Hadoop有配置参数 hadoop.tmp.dir 根据文档,这是`“其他临时目录的基础。” 我想,这个路径是指本地文件系统。

我将此值设置为 /mnt/hadoop-tmp/hadoop-${user.name}. 。格式化名称节点并启动所有服务后,我看到在 HDFS 上创建了完全相同的路径。

意思是不是, hadoop.tmp.dir 指临时位置 分布式文件系统?

有帮助吗?

解决方案

它的混乱,但hadoop.tmp.dir局部用作基础临时目录,以及在 HDFS 。该文件是不是很大,但mapred.system.dir默认情况下,以"${hadoop.tmp.dir}/mapred/system"设置,这定义了路径的 HDFS 的地方,其中的Map / Reduce框架存储系统文件。

如果您希望这些不被捆绑在一起,您可以编辑mapred-site.xml这样mapred.system.dir的定义是什么,不是依赖于${hadoop.tmp.dir}

其他提示

让我对 kkrugler 的答案补充一点:

HDFS 共有三个属性,其中包含 hadoop.tmp.dir 在他们的价值观中

  1. dfs.name.dir:namenode存储元数据的目录,默认值 ${hadoop.tmp.dir}/dfs/name.
  2. dfs.data.dir:HDFS数据块存储目录,默认值 ${hadoop.tmp.dir}/dfs/data.
  3. fs.checkpoint.dir:secondary namenode存储其检查点的目录,默认值为 ${hadoop.tmp.dir}/dfs/namesecondary.

这就是为什么你看到了 /mnt/hadoop-tmp/hadoop-${user.name} 格式化 namenode 后在 HDFS 中。

已经为在这一个信息环顾四周。只有我能想出的事情是这个职位上的亚马逊弹性MapReduce的开发指南

  

在的hadoop-site.xml中,我们设置   hadoop.tmp.dir到   到/ mnt在/ var / lib中/ Hadoop的/ tmp目录。到/ mnt是其中   我们安装的“额外”的EC2卷,   它可以包含很多比更多的数据   默认的音量。 (确切的量   取决于实例类型。)Hadoop的   RunJar.java(模块解包   输入的JAR)解释   hadoop.tmp.dir作为一个Hadoop文件系统   路径而非本地路径,因此它   写入路径HDFS代替   本地路径。 HDFS安装下   到/ mnt(具体   到/ mnt在/ var / lib中/的Hadoop / DFS /。这样你就可以   写入大量数据给它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top