配置HDFS只读模式
操作场景
HDFS支持目录级别的只读设置,开启只读后配置的目录只能进行读取,不能够进行任何写入操作。在HDFS存量数据进行搬迁时开启只读模式,能够极大的增加搬迁效率,防止因为写操作导致搬迁失败。
约束与限制
- 该功能适用于MRS 3.6.0及之后版本。
- NameNode重启后只读模式需要重新开启。
- 在使用完成后应立即退出只读模式,防止对业务造成影响。
操作步骤
- 以客户端安装用户,登录客户端安装节点。
- 执行以下命令,切换到客户端安装目录。
cd /opt/client
- 执行以下命令配置环境变量。
source bigdata_env
- 如果集群为安全模式,需执行以下命令进行用户认证。普通模式集群无需执行该步骤。
kinit 组件业务用户
- 执行以下命令开启只读模式。
hdfs dfsadmin -readonly enable
- 只读模式命令参数说明请见表1。
- 如果只对某一个NameService开启只读模式,则需要在命令前添加-fs参数。如果为联邦场景,则必须使用-fs参数。例如:
hdfs dfsadmin -fs hdfs://hacluster -readonly enable
- 登录Manager页面,选择“集群 > 服务 > HDFS > 配置 > 全部配置”进入HDFS全部配置页面,搜索并根据实际需求配置以下参数。
表2 只读模式相关参数 参数名称
参数说明
默认值
hdfs.readonly-mode.directory.list
开启只读模式后,指定只读生效的目录。
- 配置的目录只能读不能写。
- 多个目录使用英文逗号分隔。
- 该参数值不支持使用正则表达式。
-
hdfs.readonly-mode.white.list.user
开启只读模式后,不受只读模式限制的用户。
- 多个用户使用英文逗号分隔。
- 该参数值不支持使用正则表达式。
-
- 参数修改后保存配置,无需重启服务或实例。