centos

怎样配置CentOS HDFS权限管理

小樊
32
2025-11-26 04:21:21
栏目: 智能运维

CentOS 上配置 HDFS 权限管理

一 基础准备与核心概念

二 启用权限与 ACL 的关键配置

<!-- core-site.xml -->
<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://namenode.example.com:8020</value>
  </property>
  <property>
    <name>hadoop.security.authentication</name>
    <value>simple</value> <!-- 如需 Kerberos,改为 kerberos 并配置相关 principal/keytab -->
  </property>
  <property>
    <name>hadoop.security.authorization</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.web.ugi</name>
    <value>webuser,webgroup</value> <!-- Web UI 使用的身份,避免暴露为超级用户 -->
  </property>
</configuration>

<!-- hdfs-site.xml -->
<configuration>
  <property>
    <name>dfs.permissions.enabled</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.namenode.acls.enabled</name>
    <value>true</value>
  </property>
  <property>
    <name>dfs.permissions.superusergroup</name>
    <value>supergroup</value> <!-- 指定超级用户组 -->
  </property>
  <property>
    <name>fs.permissions.umask-mode</name>
    <value>0022</value>
  </property>
  <property>
    <name>dfs.cluster.administrators</name>
    <value>hdfs,admin</value> <!-- 集群管理员 ACL -->
  </property>
</configuration>

三 用户与目录初始化及常用命令

sudo groupadd hadoop
sudo useradd -g hadoop hadoop
hdfs dfs -mkdir -p /user/hadoop
hdfs dfs -chown hadoop:hadoop /user/hadoop
hdfs dfs -chmod 755 /user/hadoop
# 修改权限
hdfs dfs -chmod 644 /user/hadoop/file.txt
hdfs dfs -chmod 755 /user/hadoop/dir

# 修改属主属组
hdfs dfs -chown alice:hadoop /user/hadoop/file.txt

# 查看 ACL
hdfs dfs -getfacl /user/hadoop

# 设置 ACL(精确授权)
hdfs dfs -setfacl -m user:bob:rwx /user/hadoop
hdfs dfs -setfacl -m group:dev:r-x /user/hadoop
# 对目录设置默认 ACL,子项自动继承
hdfs dfs -setfacl -m default:user:carol:rwx /user/hadoop/project

四 代理用户与 Web 安全

<property>
  <name>hadoop.proxyuser.hive.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.hive.groups</name>
  <value>*</value>
</property>

五 生效验证与常见问题

# 如使用 systemd
sudo systemctl restart hadoop-hdfs-namenode
sudo systemctl restart hadoop-hdfs-datanode
# 如使用 Hadoop 脚本
stop-dfs.sh && start-dfs.sh

0
看了该问题的人还看了