一个hadoop集群上面能有多个用户,每个用户往自己的存储空间存入数据,调用分配的资源进行分布式存储和分布式计算,而互不影响,这难道不是一件很美妙的事情么?
1: 添加新的linux用户 useradd hadoopacl1
2: 给hadoopacl1用户分配hdfs存储空间
hadoop fs -mkdir /hadoopacl1
hadoop fs -chown -R hadoopacl1:hadoopacl1 /hadoopacl1
3:配置用户的 hadoopacl1的用户变量
vi .bashrc
4: 尝试使用 hadoopacl1 用户上传文件
大概是新用户没有往MR日志文件写入的权限
赋予hadoopacl1写入的权限 。
这样的操作并不合理,多个用户的日志混写到一个文件无法区分,应该可以配置用户将MR日志写入到各自的日志文件当中的。
5:尝试跑MapReduce程序。
执行成功!!!
6:给用户分配资源 (hadoop公平调度器)
yarn的元数据和历史执行的数据存放在指定的目录里面,这个目录应该赋予普通用户写入的权限的,否则MR程序无法执行。
看了一眼执行的日志 ,应该是往各自的目录写了一些运行时的临时文件
也许应该给新用户复制一份bin目录和etc目录,从而在独自的etc目录下实现个性化的配置。当然所有的用户共享相同的目录是最简单的做法了。
公平调度器配置
修改配置文件后可以进行刷新操作
yarn rmadmin -refreshQueues
https://yq.aliyun.com/articles/4697
http://www.thebigdata.cn/Hadoop/30762.html