2017-08-27 77 views
1

在HDFS:为什么HDFS默认将数据存储在/ tmp中?

  • 一个NameNode的存储文件夹中的块的位置dfs.namenode.name.dir
  • 的DataNode店的文件夹中的实际数据块dfs.datanode.data.dir

总之,这两个属性构成了最HDFS的重要组成部分:保存数据的位置。

默认:

  • dfs.namenode.name.dirdfs.datanode.data.dir都在里面file://${hadoop.tmp.dir}子目录(见hdfs-default.xml
  • ${hadoop.tmp.dir}/tmp/hadoop-${user.name}(见core-default.xml

总之,HDFS存储你的数据在/tmp默认情况下。

/tmp is emptied often在现代Linux发行版中。

为什么HDFS默认存储/tmp的数据?为什么有人希望他们的数据是暂时的?

回答

2

由于Hadoop不会对您的文件结构做任何假设,因此希望能够直接进行安装,并指导用户在正确配置时覆盖这些属性。

大多数Linux发行版都有/ tmp,并且它可以被所有用户公开写入。不确定/ etc,/ var或/ mnt符合那个标准

显然没有人希望数据是临时的,但是默认值并不意味着生产就绪。例如,fs.defaultFS默认只是本地文件系统,并且只有1个文件副本

相关问题