在管理访问控制 (Administration Access Control) 栏设置哪些用户或用户组可以对资源池中的任务进行管理 9. 为资源池 dev 配置资源池 ACL可以使用与 root 相同的ACL配置,也可以使用不同的配置,该示例假设使用相同的设置。 10. 测试测试一:用户 root 向资源池 dev 提交 word count 任务
[root]$ hadoop jar wordcount-0.9.0.jar com.cloudera.example.WordCount -Dmapreduce.job.queuename=dev wordcount/input wordcount/output ... Exception in thread "main" java.io.IOException: Failed to run job: User root cannot submit applications to queue root.dev ...
注意:这里的word count是自定义的,与CDH自带的word count示例的唯一区别在于,自定义word count的Mapper程序在运行时首先使用Thread.sleep (300 * 1000) 休眠5分钟。这主要是为了后续对资源池管理的测试 测试二:用户 root 取消用户 cloudera-dev 提交的、运行于资源池 dev 中的 word count 任务用户cloudera-dev向资源池dev提交word count任务
[cloudera-dev]$ hadoop jar wordcount-0.9.0.jar com.cloudera.example.WordCount -Dmapreduce.job.queuename=dev wordcount/input wordcount/output ...
用户root查询相应任务的id,假设获得任务id为job_1421512955131_0006
[root]$ hadoop job -list ...
用户root取消 (kill) 该任务
[root]$ hadoop job -kill job_1421512955131_0006 ... Exception in thread "main" java.io.IOException: org.apache.hadoop.yarn.exceptions.YarnException: Java.security.AccessControlException: User root cannot perform operation MODIFY_APP on application_1421512955131_0006 ...
测试三:用户 alex (属于组 cloudera-dev) 取消用户 cloudera-dev 提交的、运行于资源池 dev 中的 word count 任务增加用户alex,设置所属组cloudera-dev
[root]$ useradd -g cloudera-dev alex
用户cloudera-dev向资源池dev提交word count任务
[cloudera-dev]$ hadoop jar wordcount-0.9.0.jar com.cloudera.example.WordCount -Dmapreduce.job.queuename=dev wordcount/input wordcount/output ...