HADOOP之HDFS环境搭建(四)

hdfs是一个文件系统
	类unix、linux
	有用户概念
	
	hdfs没有相关命令和接口去创建用户
		信任客户端 <- 默认情况使用的 操作系统提供的用户

	有超级用户的概念
		linux系统中超级用户:root
		hdfs系统中超级用户: 是namenode进程的启动用户

	有权限概念
		hdfs的权限是自己控制的 来自于hdfs的超级用户

既:
  • 权限和组要对应上才能上传文件
  • 面向操作系统 root是管理员 其他用户都叫【普通用户】
  • 面向操作系统的软件 谁启动,管理这个进程,那么这个用户叫做这个软件的管理员

切换root搭建的HDFS 用god这个用户来启动

	node01~node04:
		*)stop-dfs.sh
		1)添加用户:root
			useradd god
			passwd god
		2)讲资源与用户绑定(a,安装部署程序;b,数据存放的目录)
			chown -R god  src
			chown -R god /opt/bigdata/hadoop-2.6.5
			chown -R god /var/bigdata/hadoop
		3)切换到god
                         需要免密

                4)hdfs-site.xml、分发给node02~04
			<property>
			  <name>dfs.ha.fencing.ssh.private-key-files</name>
			  <value>/home/god/.ssh/id_dsa</value>
			</property>


		
		5)god  :  start-dfs.sh

  

用户权限验证实操:

node01:
		su god
		hdfs dfs -mkdir   /temp
		hdfs dfs -chown god:ooxx  /temp
		hdfs dfs -chmod 770 /temp
	node04:
		root:
			useradd good
			groupadd ooxx
			usermod -a -G ooxx good
			id good
		su good
			hdfs dfs -mkdir /temp/abc  <失败
			hdfs groups 
				good:        <因为hdfs已经启动了,不知道你操作系统又偷偷摸摸创建了用户和组
	*node01:
		root:
			useradd good
			groupadd ooxx
			usermod -a -G ooxx good
		su god 
			hdfs dfsadmin -refreshUserToGroupsMappings
	node04:
		good:
			hdfs groups 
				good : good ooxx

hdfs dfs -mkdir /temp/abc 
hdfs dfs -put aa.txt /temp/abc 
结论:默认hdfs依赖操作系统上的用户和组

  

 start-dfs.sh 启动日志(第一次需要手动启动,并格式化)

 文件权限解析:

为什么上面需要 :hdfs dfs -chmod 770 /temp解析:




原文地址:https://www.cnblogs.com/bigdata-familyMeals/p/14088281.html