码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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分,算是对作者的鼓励:)点击下载

  • 相关阅读:
    每日一题·729.我的日程安排表
    [Unity命名空间教程]介绍Unity新自带的命名空间UnityEngine.Pool
    微服务项目:尚融宝(40)(核心业务流程:申请借款额度(3))
    关于标准帧和扩展帧的区别
    记:lora及lorawan的一些概念话
    谷歌AlphaFold近日宣称预测出地球上几乎所有蛋白质结构
    【MySQL】索引的增删查
    计算机操作系统重点概念整理-第二章 进程管理【期末复习|考研复习】
    使用helm快速安装Nightingale夜莺监控系统
    记录:2022-9-12 多路归并 超级丑数 败者树 调度算法实现 帧分配 系统抖动 内存映射文件 内核内存分配
  • 原文地址:https://blog.csdn.net/jiong9412/article/details/126368781
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号