HDFS概述
hdfs简介
hdfs是类unix、linux的文件系统 有用户概念,但没有相关命令和接口去创建用户 信任客户端 ,默认使用操作系统提供的用户,谁启动的dfs,谁就是dfs的管理员 也可以扩展 kerberos、LDAP等,使用第三方用户认证系统 有超级用户的概念
linux系统:root
hdfs系统: 是namenode进程的启动用户
有权限概念hdfs的权限是自己控制的 来自于hdfs的超级用户
管理员
操作系统:root是【管理员】,其他用户都叫【普通用户】。
系统软件:谁启动这个进程,谁就是这个软件的管理员。
Linux用户命令
useradd god
su god
passwd god
groupadd ooxx
usermod -a -G ooxx good
id good
ps -fe | grep 端口号
HDFS分配权限
每台节点都要做
添加用户god
.. .
用户权限资源绑定
chown -R god src
chown -R god /opt/bigdata/hadoop-2.6.5
chown -R god /var/bigdata/hadoop
给god做免密
要求:
每台节点都能访问自己
两台NN都能访问其他人
ssh localhost
hdfs-site.xml配置免密
< property>
< name> dfs.ha.fencing.ssh.private-key-files</ name>
< value> /home/god/.ssh/id_rsa</ value>
</ property>
jps查看端口信息
.. .
试验
在HDFS中:
god可以向root写目录
root不能向god写目录
HDFS分配用户组
HDFS修改目录权限
hdfs dfs -mkdir /temp
hdfs dfs -chown god:ooxx /temp
hdfs dfs -chmod 770 /temp
操作系统添加用户与组
1 .添加good用户
2 .添加ooxx的组
3 .good用户添加到ooxx组
4 .进入god
5 .让NN重新识别
hdfs dfsadmin -refreshUserToGroupsMappings
1 .添加good用户
2 .添加ooxx的组
3 .good用户添加到ooxx组
4 .查看good用户所在组信息
5 .查看当前hdfs用户,以及所在组
hdfs groups
hdfs没有权利创建用户以及组,只能使用系统创建出来的用户以及组
默认hdfs依赖操作系统上的用户和组
hdfs api 实操:
JDK要和集群版本一致
对于hdfs开发环境的client权限
1 . 参考系统登录用户名: 不常用
2 . 参考环境变量: HADOOP_USER_NAME god
3 . 代码中给出。
maven(构建工具):
1 . 包含了依赖管理: pom
2. pom网站:
https: // mvnrepository. com/
3. GAV定位
4. hdfs的pom组成( maven所需) :
hadoop: ( common、hdfs、yarn、mapreduce)