HDFS本身并没有提供用户名、组等的创建和管理,在客户端操作Hadoop时,Hadoop自动识别执行命令所在的进程的用户名和用户组,然后检查是否具有权限。启动Hadoop的用户即为超级用户,可以进行所有操作。
由于想在Windows 7的Eclipse里面操作Hadoop,Windows 7的用户是Administrator,所以首先在运行Hadoop的所有Linux主机上添加相应的用户:
adduser -g hadoop Administrator
用Hadoop的超级用户hadoop在HDFS新建一个文件夹,并更改权限:
hdfs dfs -mkdir /user/Administrator
hdfs dfs -chwon Administrator /user/Administrator
还要为所有Linux主机的该用户实现SSH无密码登录,然后Administrator就可以向/user/Administrator提交文件并执行Hadoop任务。
如果想让该用户具有HDFS下所有文件的权限:
hdfs dfs -chmod -R g+w /