Linux环境下Hadoop权限设置主要涉及用户管理、文件系统权限、ACL及认证配置,具体如下:
hadoop)和组,将Hadoop进程与用户绑定:sudo useradd -m hadoop -s /bin/bash # 创建用户
sudo groupadd hadoopgroup # 创建组
sudo usermod -aG hadoopgroup hadoop # 将用户加入组
hdfs dfs -chmod设置权限(如755):hdfs dfs -chmod 755 /path/to/directory # 所有者可读写执行,组和其他用户可读执行
hdfs dfs -chown修改所有者和组:hdfs dfs -chown hadoop:hadoopgroup /path/to/file # 设置所有者为hadoop,组为hadoopgroup
hdfs-site.xml中设置dfs.namenode.acls.enabled=true。hdfs dfs -setfacl添加特定用户/组权限(如赋予用户user1读写权限):hdfs dfs -setfacl -m user:user1:rw /path/to/file
core-site.xml中设置hadoop.security.authorization=true,并配置hadoop.security.auth_to_local规则。hdfs-site.xml中设置dfs.permissions.superusergroup=hadoop。core-site.xml中设置hadoop.security.authentication=kerberos,并配置krb5.conf及keytab文件。kinit获取票据后访问集群。hdfs dfs -ls查看权限和所有者信息。关键命令总结:
| 操作 | 命令示例 | 说明 |
|---|---|---|
| 修改权限 | hdfs dfs -chmod 755 /dir |
设置目录权限(所有者:读写执行) |
| 修改所有者 | hdfs dfs -chown user:group /file |
指定文件所有者和组 |
| 设置ACL权限 | hdfs dfs -setfacl -m user:alice:r /file |
赋予用户alice读权限 |
| 启用权限校验 | 配置hdfs-site.xml中dfs.permissions=true |
开启基础权限验证 |
参考来源: