多个Datanode目录写操作

时间:2017-08-15 10:43:59

标签: hadoop

我使用hadoop apache 2.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_dir和file:/// hdd / data_dir /具有相同的块名称和相同的子目录名称

但是在我的群集中,这种行为在有时会将数据块写入时不会发生 本地目录/ opt / hadoop / data_dir,有时将数据块写入

外部硬目录file:///hdd/data_dir

可能的原因以及如何控制此行为

1 个答案:

答案 0 :(得分:0)

您对dfs.data.dir的解释是错误的。这没有说明:

  

具有相同的块名称和相同的子目录名称

文件可能会被复制,但这种情况发生在不同的 datanodes 上,而不是在具有不同目录的同一datanode上。此属性dfs.data.dir也已弃用,应该是自{Hadoop 2以来一直存在的dfs.datanode.data.dir

来自hdfs-default.xml

  

dfs.datanode.data.dir

     

确定DFS数据节点应在本地文件系统中存储块的位置。如果这是逗号分隔的目录列表,则数据将存储在所有已命名的目录中,通常位于不同的设备上。