• Hadoop多用户配置


    0.Hadoop多用户配置的背景。
    Hadoop多用户配置的目的就是多个hadoop用户可以共同使用HDFS,但是只能操作属于自己的空间,不能跨用户空间操作(当然/tmp是属于大家的,任何用户都会对这个文件夹有写操作)。
    Hadoop多用户配置,相当于给每个用户一个hadoop客户端,每个用户都可以使用hadoop的命令操作属于自己的HDFS空间。
    1. 具体配置
    0)假设集群中的一台机器tseg0,已有一个普通用户tseg,现再增加一个用户another,且之前在tseg用户下已经部署好hadoop。
    1)要在root权限下增加用户并设置密码,具体命令如下:

    adduser another  //增加“another”用户
    passwd another   //为用户设置密码,此命令之后会让输入密码
    
    • 1
    • 2

    2) 在tseg用户下将hadoop传到another用户下:

    scp -r $HADOOP_HOME/ another@tseg0:~/
    
    • 1

    3)在another用户下配置$HADOOP_HOME,PATH变量

    vim ~/.bashrc
    //之后进入.bashrc文件,添加下面
    export $HADOOP_HOME=/home/another/hadoop
    export $PATH=$PATH:$HADOOP_HOME/bin
    //编辑完成后,source使其立即生效
    source ~/.bashrc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4)传输完成后可能会有权限改变的情况,比如hadoop命令不能用等等,这时需要改变一下权限:

    chmod -R 775 $HADOOP_HOME
    
    • 1

    5)进入tseg用户,对HDFS增加hadoop用户目录:
    HDFS的创建的缺省文件是默认是在/user文件夹下的,比如tseg用户使用hadoop fs -mkdir test ,其实就是创建了一个/user/tseg/test的文件夹。
    所以在此应该先建立属于another用户的HDFS用户目录:/user/another

    hadoop fs -mkdir /user/another
    hadoop fs -chown another /user/another //将文件夹的owner设为another
    hadoop fs -chgrp another /user/another //将文件夹的group设为another
    
    • 1
    • 2
    • 3

    为什么要在tseg用户下才能这样做呢?这是因为Hadoop认为谁启动了hadoop谁就是超级hadoop用户。
    6)在tseg用户下改变/tmp文件夹权限。
    因为不管哪个用户都会对/tmp文件夹有写操作,所以必须要改变/tmp的权限:

    hadoop fs -chmod -R 777 /tmp
    
    • 1

    7)在hadoop超级用户tseg下重启hadoop

    stop-all.sh
    start-all.sh
    
    • 1
    • 2

    8)在another用户运行wordcount

    //上传文件到/user/another/input
    hadoop fs -put $HADOOP_HOME/etc/hadoop input  
    //运行wordcount
    hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples.jar wordcount input output
    
    • 1
    • 2
    • 3
    • 4

    附录

    抽空写的shell脚本,可以实现hadoop多用户配置,从不懂shell脚本到写出完整的shell程序还是花费了不少时间,收取小小1分,算是对作者的鼓励:)点击下载

  • 相关阅读:
    jmeter 学习笔记
    Gitlab: PHP项目CI/CD实践
    SpringMVC异常处理和自定义拦截器
    C++ 输入输出流
    【深度学习】6-卷积过程中数据的结构变化
    掌握电子邮件的未来:深入解析IMAP4的革命性特性与实践
    Web前端:如何为Web应用程序开发找到合适的技术堆栈?
    java计算机毕业设计线上远程教学及自主学平台的设计与实现源码+系统+数据库+lw文档
    论文字体,Word字体大小对照换算表(字号、磅、英寸、像素)
    今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 4月25日,星期四
  • 原文地址:https://blog.csdn.net/jiong9412/article/details/126368781