热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:HDFS权限管理

篇首语:本文由编程笔记#小编为大家整理,主要介绍了HDFS权限管理相关的知识,希望对你有一定的参考价值。一.权限概述

篇首语:本文由编程笔记#小编为大家整理,主要介绍了HDFS权限管理相关的知识,希望对你有一定的参考价值。


一.权限概述

    在Hadoop分布式文件系统中,每个文件和目录有一个所有者(owner)和一个组(group),文件或目录对其所有者、同组的其他用户以及所有其他用户分别有着不同的权限。当新建一个文件或目录,它的所有者即客户进程的用户,它的所属组是父目录的组。

    每个访问HDFS的用户进程的标识分为两个部分,分别是用户名和组名列表。每次用户进程访问一个文件或目录foo,HDFS都要对其进行权限检查,



  • 如果用户即foo的所有者,则检查所有者的访问权限;


  • 如果foo关联的组在组名列表中出现,则检查组用户的访问权限;


  • 否则检查foo其他用户的访问权限。


如果权限检查失败,则客户的操作会失败。

    HDFS没有相关命令和接口去创建用户,默认情况使用的是操作系统提供的用户,linux系统中超级用户是root,HDFS系统中超级用户是NN进程的启动用户,HDFS的权限是自己控制的,来自于HDFS的超级用户.

二.切换HDFS启动用户

1.停止HDFS服务







# bd101 如果服务已启动,先停止服务 ZK集群不需要停止stop-dfs.sh

2.添加用户bduser,密码123456








# bd101~bd104useradd bduserpasswd bduser

3.将资源与用户绑定










# bd101~bd104# 安装部署程序路径chown -R bduser /opt/bigdata/hadoop-2.10.1/# 数据存储路径chown -R bduser /var/bigdata/hadoop/

4.添加bduser用户免密











# bd101~bd104# 切换用户到 bdusersu bduser# 创建 .ssh目录cd ssh localhost
















# bd101~bd102# 生成密钥cd /home/bduser/.sshssh-keygen -t dsa -P '' -f  ./id_dsa# 分发公钥ssh-copy-id -i id_dsa bd101ssh-copy-id -i id_dsa bd102ssh-copy-id -i id_dsa bd103ssh-copy-id -i id_dsa bd104# 在bd104查看公钥cat /home/bduser/.ssh/authorized_keys

HDFS权限管理

5.修改免密配置
















# bd101cd /opt/bigdata/hadoop-2.10.1/etc/hadoop/vim hdfs-site.xml dfs.ha.fencing.ssh.private-key-files /home/bduser/.ssh/id_dsa# 分发配置scp hdfs-site.xml bd102:`pwd`scp hdfs-site.xml bd103:`pwd`scp hdfs-site.xml bd104:`pwd`

6.使用bduser用户启动HDFS







# bd101start-dfs.sh

三.权限验证

1.用户权限












# 第一步:在bd101 用户roothdfs dfs -mkdir  -p  /user/root# 第二步:在bd101 用户bduserhdfs dfs -mkdir -p /user/bduserhdfs dfs -mkdir /temp# 第三步:在bd101 用户roothdfs dfs -mkdir /temp/abc

最外层目录

HDFS权限管理

user目录下

HDFS权限管理

root用户在temp目录下创建文件夹

HDFS权限管理









# bduser是超级用户,由bduser启动的NN,不受权限限制# root用户是linux系统的超级用户,在此处是普通用户,受权限限制1.user目录的所有者是root,使用bduser用户可以在user目录下创建文件夹2.temp目录的所有者是bduser,使用root用户在temp目录下创建文件夹失败

2.用户组权限










# 修改 temp 的用户组为 group01 hdfs dfs -chown bduser:group01  /temp 或者hdfs dfs -chgrp group01 /temp# 修改权限 拥有者跟组用户拥有全部权限hdfs dfs -chmod 770 /temp

HDFS权限管理

创建新用户并绑定用户组













# bd101 root用户useradd goodpasswd good# 查看用户id good# 测试用户权限bduser:hdfs dfs -mkdir /temp/bduser 创建成功good:hdfs dfs -mkdir /temp/good 创建失败

HDFS权限管理


















# bd101、bd104 root用户# 创建一个组groupadd group01# 给用户good追加一个组usermod -a -G group01 good# 查看good所在组[root@bd101 ~]# id gooduid=1002(good) gid=1002(good) groups=1002(good),1003(group01)# bd101 bduser用户# hdfs已经启动,用户和新加组在通过命令更新到hdfshdfs dfsadmin -refreshUserToGroupsMappings# bd104 good用户hdfs dfs -mkdir /temp/good 创建成功

3.http访问权限









地址:http://bd101:50070/explorer.html#/由于temp目录权限被修改,访问temp目录被拒绝,可以通过修改temp权限解决,也可以通过以下方法解决

用户dr.who其实是hadoop中http访问的静态用户名,并没有啥特殊含义

修改core-site.xml即可解决









<property>       <name>hadoop.http.staticuser.username>       <value>bduservalue>property>



推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • springboot项目引入jquery浏览器报404错误的解决办法
    本文介绍了在springboot项目中引入jquery时,可能会出现浏览器报404错误的问题,并提供了解决办法。问题可能是由于将jquery.js文件复制粘贴到错误的目录导致的,解决办法是将文件复制粘贴到正确的目录下。如果问题仍然存在,可能是其他原因导致的。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • MACElasticsearch安装步骤及验证方法
    本文介绍了MACElasticsearch的安装步骤,包括下载ZIP文件、解压到安装目录、启动服务,并提供了验证启动是否成功的方法。同时,还介绍了安装elasticsearch-head插件的方法,以便于进行查询操作。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
    本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
author-avatar
rfzrfz_353
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有