我正在尝试设置Hadoop3集群。
关于擦除编码功能的两个问题:
- 如何确保启用擦除编码
- 我还需要将复制因子设置为3吗
请说明与擦除编码/复制相关的相关配置属性,以获得与Hadoop 2相同的数据安全性(复制因子3(,但具有Hadoop 3擦除编码的磁盘空间优势(仅50%的开销,而不是200%(。
在Hadoop3中,我们可以对HDFS中的任何folder
启用擦除编码策略。默认情况下,Hadoop3中没有启用擦除编码,您可以使用指定所需文件夹路径的setPolicy
命令来启用它。
1:
要确保启用擦除编码,可以运行getPolicy
命令。
2:
在Hadoop3中,复制因子设置将仅影响未由擦除代码setPolicy配置的其他文件夹。您可以在单个集群中同时使用擦除编码和复制因子设置。
列出支持的擦除策略的命令:
./bin/hdfs ec -listPolicies
启用XOR-2-1-1024k擦除策略的命令:
./bin/hdfs ec -enablePolicy -policy XOR-2-1-1024k
将擦除策略设置为HDFS目录的命令:
./bin/hdfs ec -setPolicy -path /tmp -policy XOR-2-1-1024k
将策略集获取到给定目录的命令:
./bin/hdfs ec -getPolicy -path /tmp
从目录中删除策略的命令。即取消设置策略:
./bin/hdfs ec -unsetPolicy -path /tmp
命令禁用策略:
./bin/hdfs ec -disablePolicy -policy XOR-2-1-1024k