Debian系统下Hadoop权限设置操作指南
Hadoop权限管理的核心是用户-组-资源的关联,需先规范用户和组的创建与分配。
useradd创建用户(如sudo useradd -m -s /bin/bash hadoop_user,-m自建家目录,-s指定shell),用groupadd创建组(如sudo groupadd hadoop_group)。sudo usermod -aG hadoop_group hadoop_user(-aG表示追加组,避免移除原有组)。sudo usermod -l new_name old_name)、家目录(sudo usermod -d /new/path username)或组名(sudo groupmod -n new_group old_group),可使用对应usermod/groupmod命令。Hadoop进程依赖本地文件系统的权限,需确保关键路径(如Hadoop安装目录、数据目录)的权限正确。
ls -l /path/to/resource查看当前权限(如drwxr-xr-x表示所有者有读写执行权,组和其他用户有读执行权)。chmod设置权限,常用数字模式(如sudo chmod 755 /opt/hadoop,7=所有者全权,5=组和其他用户读执行)或符号模式(如sudo chmod u+x script.sh,给所有者添加执行权)。chown更改所有者(如sudo chown hadoop_user:hadoop_group /opt/hadoop/data),用chgrp单独更改所属组(如sudo chgrp hadoop_group /opt/hadoop/logs)。Hadoop自身提供权限控制机制,需通过命令配置HDFS、YARN等组件的权限。
hdfs dfs -ls /(显示目录下文件的权限、所有者、组等信息)。hdfs dfs -chmod 750 /user/hadoop_user/input(限制input目录仅所有者可写)。hdfs dfs -chown hadoop_user:hadoop_group /user/hadoop_user/output(将output目录归属到指定用户和组)。yarn rmadmin -refreshQueues刷新队列权限(若配置了队列访问控制)。hadoop_user@EXAMPLE.COM),分发keytab文件到各节点,修改Hadoop配置文件(core-site.xml、hdfs-site.xml、yarn-site.xml)启用Kerberos认证,最后使用kinit命令获取票据。sudo setfacl -m u:testuser:rwx /opt/hadoop/tmp(给testuser添加tmp目录的读写执行权),查看ACL用getfacl /opt/hadoop/tmp。/opt/hadoop目录、HDFS元数据),避免误操作导致数据丢失。sudo执行。security模块配置)。