MAPREDUCE服务 MRS-配置HDFS文件目录标签策略(NodeLabel):配置描述
配置描述
- DataNode节点标签配置
请参考修改集群服务配置参数,进入HDFS的“全部配置”页面,在搜索框中输入参数名称。
表1 参数说明 参数
描述
默认值
dfs.block.replicator.classname
配置HDFS的DataNode原则策略。
如果需要开启NodeLabeNodel功能,需要将该值设置为org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyWithNodeLabel。
org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy
host2tags
配置DataNode主机与标签的对应关系。
主机名称支持配置IP扩展表达式(如192.168.1.[1-128]或者192.168.[2-3].[1-128],且IP必须为业务IP),或者为前后加上 / 的主机名的正则表达式(如/datanode-[123]/或者/datanode-\d{2}/)。标签配置名称不允许包含 = / \ 字符。【注意】配置IP时必须是业务IP。
-
- host2tags配置项内容详细说明:
例如某 MRS 集群有20个DataNode:dn-1到dn-20,对应的IP地址为10.1.120.1到10.1.120.20,host2tags配置文件内容可以使用如下的表示方式。
主机名正则表达式:
“/dn-\d/ = label-1”表示dn-1到dn-9对应的标签为label-1,即dn-1 = label-1,dn-2 = label-1,...dn-9 = label-1。
“/dn-((1[0-9]$)|(20$))/ = label-2”表示dn-10到dn-20对应的标签为label-2,即dn-10 = label-2,dn-11 = label-2,...dn-20 = label-2。
IP地址范围表示方式:
“10.1.120.[1-9] = label-1”表示10.1.120.1到10.1.120.9对应的标签为label-1,即10.1.120.1 = label-1,10.1.120.2 = label-1,...10.1.120.9 = label-1。
“10.1.120.[10-20] = label-2”表示10.1.120.10到10.1.120.20对应的标签为label-2,即10.1.120.10 = label-2,10.1.120.11 = label-2,...10.1.120.20 = label-2。
- 基于标签的数据块摆放策略支持扩容减容场景:
当集群中新增加DataNode节点时,如果该DataNode对应的IP匹配host2tags配置项中的IP地址范围,或者该DataNode的主机名匹配host2tags配置项中的主机名正则表达式,则该DataNode节点会被设置成对应的标签。
例如“host2tags”配置值为10.1.120.[1-9] = label-1,而当前集群只有10.1.120.1到10.1.120.3三个数据节点。进行扩容后,又添加了10.1.120.4这个数据节点,则该数据节点会被设置成label-1的标签;如果10.1.120.3这个数据节点被删除或者退出服务后,数据块不会再被分配到该节点上。
- host2tags配置项内容详细说明:
- 设置目录/文件的标签表达式
- 在HDFS参数配置页面配置“path2expression”,配置HDFS目录与标签的对应关系。当配置的HDFS目录不存在时,也可以配置成功,新建不存在的同名目录,已设置的标签对应关系将在30分钟之内被继承。设置了标签的目录被删除后,新增一个同名目录,原有的对应关系也将在30分钟之内被继承。
- 命令行设置方式请参考hdfs nodelabel -setLabelExpression命令。
- Java API设置方式通过NodeLabelFileSystem实例化对象调用setLabelExpression(String src, String labelExpression)方法。src为HDFS上的目录或文件路径,“labelExpression”为标签表达式。
- 开启NodeLabel特性后,可以通过命令hdfs nodelabel -listNodeLabels查看每个DataNode的标签信息。
- MapReduce服务_什么是HDFS_HDFS特性
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是Hue_如何使用Hue
- MRS备份恢复_MapReduce备份_数据备份
- MapReduce服务_什么是Loader_如何使用Loader
- MapReduce服务_什么是ZooKeeper_如何使用ZooKeeper
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- 什么是Manager_Manager的功能_MRS运维管理
- MapReduce服务_什么是Yarn_如何使用Yarn
- MapReduce服务_什么是MapReduce服务_什么是HBase