多个datanode目录写入操作

r6l8ljro  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(360)

iam使用hadoopapache2.7.1,我已经将数据节点目录配置为具有多个目录

<property>
                 <name>dfs.data.dir</name>
                 <value>/opt/hadoop/data_dir,file:///hdd/data_dir/</value>
                 <final>true</final>
        </property>

根据此配置,写入文件数据应该发生在两个目录/opt/hadoop/data\u dir和file:///hdd/data\u dir/上,并且具有相同的块名和子目录名
但在我的集群中,这种行为不会发生有时它会将数据块写入本地目录/opt/hadoop/data\ dir,有时它会将数据块写入
外部硬目录 file:///hdd/data_dir 可能的原因是什么?如何控制这种行为

3mpgtkmj

3mpgtkmj1#

你对 dfs.data.dir 这是错误的。没有任何地方说明:
具有相同的块名和相同的子目录名
文件可能会被复制,但这种情况发生在不同的datanode上,而不是在具有不同目录的同一datanode上。还有这个属性 dfs.data.dir 已弃用,应 dfs.datanode.data.dir 从hadoop2开始就有了。
从hdfs-default.xml
dfs.datanode.data.dir目录
确定dfs数据节点应在本地文件系统上的何处存储其块。如果这是一个以逗号分隔的目录列表,那么数据将存储在所有命名的目录中,通常存储在不同的设备上。

相关问题