hadoop用户权限管理

     在上一篇博文我描述了在单机linux上安装hadoop,网址:http://my.oschina.net/hetiangui/blog/142897这里我主要描述下hadoop的用户权限管理。

     上篇文章说过,hadoop实际上就是就是一个liunx虚拟机,它的文件操作命令同linux,而它的用户呢?它的用户实际上就是linux主机的用户。这里我们做的例子就是:新建一个liunx用户,并为该linux用户授权hadoop相关权限。

1、以root身份登陆,新建一个linux用户,用户名为hauser,并授予相关权限

    -------------------创建用户------------------------------

     useradd hauser -----新建linux用户 hauser

     passwd hadoop ---为新建的用户hauser设置初始密码

    ------------------------文件夹授权-------------------------------------------

     chown -R hauser:hauser /opt/hadoop ---将hadoop的相关执行权限授予hauser

    每个linux用户在操作hadoop时,都会产生临时文件,该文件的路径配置在/opt/hadoop/conf/core-site.xml 的hadoop.tmp.dir属性,我这里配置是/tmp/hadoopfile/hadoop-${user.name},因此我需要创建一个文件夹并授权

     mkdir /tmp/hadoopfile/hadoop-hauser

     chown -R hauser:hauser /tmp/hadoopfile/hadoop-hauser

    ------------------------hadoop文件夹授权-------------------------------------------------

     hadoop fs -mkdir /hauser_home -------在hadoop上新建一个目录: /hauser_home

     hadoop fs -ls / ----查看目录是否创建成功

     hadoop fs -chown -R hauser /hauser_home --将hadoop的/hauser_home的权限授权给 hauser

     从上述命令可以看出,如果需要对hadoop的文件进行新建、授权等操作,只是比普通的的linux命令前面多了 hadoop fs - ,其它的基本都一样;

2、以hauser身份登陆linux操作系统

    a、 首先需要先执行以下命令,设置hadoop的相关环境变量:

           source /opt/hadoop/conf/hadoop-env.sh

      为了避免每次登陆都操作,可以将这行命令加到该用户的 .bash_profile文件末尾,全路径为/home/hauser/.bash_profile

      b、测试hadoop上的文件权限:

          hadoop fs -mkdir /hauser_home/txt -------在hadoop上新建一个目录: /hauser_home/txt

          hadoop fs -put /opt/hadoop/*.txt /hauser_home/txt ---将/opt/hadoop下的所有txt文件上传到hadoop

          hadoop fs -ls /hauser_home/txt --查看上传的文件列表

   如果文件都存在,并且大小不是为0的话,恭喜你,成功

3、以hauser身份执行DEMO程序WordCount

        hadoop自带一个WordCount程序,我用hauser身份去执行的时候,输入的文件目录和输出的文件名称,hauser都有权限,但执行的时候一直报Permission denied错误。研究了非常久,才发现hadoop在进行map-reduce的时候,需要将临时文件写到/tmp目录,但上述的步骤中我们并没有为hauser授权这个目录的写权限。

      解决方式:以root身份登陆,执行hadoop fs -chmod -R 777 /tmp  就可以解决问题了


下面我们开始用java编写一个基于hadoop的map/reduce代码吧,敬请期待!


转载于:https://my.oschina.net/hetiangui/blog/143364

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值