`

hadoop mapred-queue-acls 配置

 
阅读更多
hadoop作业提交时可以指定相应的队列,例如:-Dmapred.job.queue.name=queue2

通过对mapred-queue-acls.xml和mapred-site.xml配置可以对不同的队列实现不同用户的提交权限.
先编辑mapred-site.xml,修改配置如下(增加四个队列):

  1. <property>
  2. <name>mapred.queue.names</name>
  3. <value>default,queue1,queue2,queue3,queue4</value>
  4. <description>Commaseparatedlistofqueuesconfiguredforthisjobtracker.
  5. Jobsareaddedtoqueuesandschedulerscanconfiguredifferent
  6. schedulingpropertiesforthevariousqueues.Toconfigureaproperty
  7. foraqueue,thenameofthequeuemustmatchthenamespecifiedinthis
  8. value.Queuepropertiesthatarecommontoallschedulersareconfigured
  9. herewiththenamingconvention,mapred.queue.$QUEUE-NAME.$PROPERTY-NAME,
  10. fore.g.mapred.queue.default.submit-job-acl.
  11. Thenumberofqueuesconfiguredinthisparametercoulddependonthe
  12. typeofschedulerbeingused,asspecifiedin
  13. mapred.jobtracker.taskScheduler.Forexample,theJobQueueTaskScheduler
  14. supportsonlyasinglequeue,whichisthedefaultconfiguredhere.
  15. Beforeaddingmorequeues,ensurethatthescheduleryou'veconfigured
  16. supportsmultiplequeues.
  17. </description>
  18. </property>

修改生效后通过jobtrack界面可以看到配置的队列信息:

要对队列进行控制, 还需要编辑mapred-queue-acls.xml文件

  1. <property>
  2. <name>mapred.queue.queue1.acl-submit-job</name>
  3. <value>''</value>
  4. <description>Commaseparatedlistofuserandgroupnamesthatareallowed
  5. tosubmitjobstothe'default'queue.Theuserlistandthegrouplist
  6. areseparatedbyablank.Fore.g.user1,user2group1,group2.
  7. Ifsettothespecialvalue'*',itmeansallusersareallowedto
  8. submitjobs.Ifsetto''(i.e.space),nouserwillbeallowedtosubmit
  9. jobs.
  10. ItisonlyusedifauthorizationisenabledinMap/Reducebysettingthe
  11. configurationpropertymapred.acls.enabledtotrue.
  12. IrrespectiveofthisACLconfiguration,theuserwhostartedtheclusterand
  13. clusteradministratorsconfiguredvia
  14. mapreduce.cluster.administratorscansubmitjobs.
  15. </description>
  16. </property>

要配置多个队列, 只需要重复添加上面配置信息,修改队列名称和value值,为方便测试,queue1禁止所有用户向其提交作业.
要使该配置生效, 还需要修改mapred-site.xml,将mapred.acls.enabled值设置为true

  1. <property>
  2. <name>mapred.acls.enabled</name>
  3. <value>true</value>
  4. <description>SpecifieswhetherACLsshouldbechecked
  5. forauthorizationofusersfordoingvariousqueueandjobleveloperations.
  6. ACLsaredisabledbydefault.Ifenabled,accesscontrolchecksaremadeby
  7. JobTrackerandTaskTrackerwhenrequestsaremadebyusersforqueue
  8. operationslikesubmitjobtoaqueueandkillajobinthequeueandjob
  9. operationslikeviewingthejob-details(Seemapreduce.job.acl-view-job)
  10. orformodifyingthejob(Seemapreduce.job.acl-modify-job)using
  11. Map/ReduceAPIs,RPCsorviatheconsoleandwebuserinterfaces.
  12. </description>
  13. </property>

重启hadoop, 使配置生效, 接下来拿hive进行测试:
先使用queue2队列:

  1. setmapred.job.queue.name=queue2;
  2. hive>
  3. >selectcount(*)fromt_aa_pc_log;
  4. TotalMapReducejobs=1
  5. LaunchingJob1outof1
  6. Numberofreducetasksdeterminedatcompiletime:1
  7. Inordertochangetheaverageloadforareducer(inbytes):
  8. sethive.exec.reducers.bytes.per.reducer=<number>
  9. Inordertolimitthemaximumnumberofreducers:
  10. sethive.exec.reducers.max=<number>
  11. Inordertosetaconstantnumberofreducers:
  12. setmapred.reduce.tasks=<number>
  13. StartingJob=job_201205211843_0002,TrackingURL=http://192.168.189.128:50030/jobdetails.jsp?jobid=job_201205211843_0002
  14. KillCommand=/opt/app/hadoop-0.20.2-cdh3u3/bin/hadoopjob-Dmapred.job.tracker=192.168.189.128:9020-killjob_201205211843_0002
  15. 2012-05-2118:45:01,593Stage-1map=0%,reduce=0%
  16. 2012-05-2118:45:04,613Stage-1map=100%,reduce=0%
  17. 2012-05-2118:45:12,695Stage-1map=100%,reduce=100%
  18. EndedJob=job_201205211843_0002
  19. OK
  20. 136003
  21. Timetaken:14.674seconds
  22. hive>

作业成功完成

再来向queue1队列提交作业:

  1. >setmapred.job.queue.name=queue1;
  2. hive>selectcount(*)fromt_aa_pc_log;
  3. TotalMapReducejobs=1
  4. LaunchingJob1outof1
  5. Numberofreducetasksdeterminedatcompiletime:1
  6. Inordertochangetheaverageloadforareducer(inbytes):
  7. sethive.exec.reducers.bytes.per.reducer=<number>
  8. Inordertolimitthemaximumnumberofreducers:
  9. sethive.exec.reducers.max=<number>
  10. Inordertosetaconstantnumberofreducers:
  11. setmapred.reduce.tasks=<number>
  12. org.apache.hadoop.ipc.RemoteException:org.apache.hadoop.security.AccessControlException:Userp_sdo_data_01cannotperformoperationSUBMIT_JOBonqueuequeue1.
  13. Pleaserun"hadoopqueue-showacls"commandtofindthequeuesyouhaveaccessto.
  14. atorg.apache.hadoop.mapred.ACLsManager.checkAccess(ACLsManager.java:179)
  15. atorg.apache.hadoop.mapred.ACLsManager.checkAccess(ACLsManager.java:136)
  16. atorg.apache.hadoop.mapred.ACLsManager.checkAccess(ACLsManager.java:113)
  17. atorg.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3781)
  18. atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
  19. atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  20. atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  21. atjava.lang.reflect.Method.invoke(Method.java:597)
  22. atorg.apache.hadoop.ipc.RPC$Server.call(RPC.java:557)
  23. atorg.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1434)
  24. atorg.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1430)
  25. atjava.security.AccessController.doPrivileged(NativeMethod)
  26. atjavax.security.auth.Subject.doAs(Subject.java:396)
  27. atorg.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1157)
  28. atorg.apache.hadoop.ipc.Server$Handler.run(Server.java:1428)

作业提交失败!

最后, 可以使用hadoop queue -showacls 命令查看队列信息:

  1. [hadoop@localhostconf]$hadoopqueue-showacls
  2. Queueaclsforuser:hadoop
  3. QueueOperations
  4. =====================
  5. queue1administer-jobs
  6. queue2submit-job,administer-jobs
  7. queue3submit-job,administer-jobs
  8. queue4submit-job,administer-jobs
分享到:
评论

相关推荐

    hadoop 2.9.0 mapred-default.xml 属性集

    Hadoop 2.9.0版本中的mapred-default.xml文件包含了MapReduce作业的配置属性,这些属性定义了MapReduce作业执行过程中的各种行为和参数。下面我们来详细介绍mapred-site.xml文件中的一些关键属性。 1. mapreduce....

    avro-mapred-1.7.7-hadoop2.jar

    avro-mapred-1.7.7-hadoop2.jar

    补充:配置yarn的步骤:1、配置yarn-site.xml;2、配置mapred-site.xml;3、配置历史服务器

    补充:配置yarn的步骤:1、配置yarn-site.xml;2、配置mapred-site.xml;3、配置历史服务器。

    hadoop最新版本3.1.1全量jar包

    hadoop-annotations-3.1.1.jar hadoop-common-3.1.1.jar hadoop-mapreduce-client-core-3.1.1.jar hadoop-yarn-api-3.1.1.jar hadoop-auth-3.1.1.jar hadoop-hdfs-3.1.1.jar hadoop-mapreduce-client-hs-3.1.1.jar ...

    hadoop-eclipse-plugin1.2.1 and hadoop-eclipse-plugin2.8.0

    为了方便开发者在Eclipse或MyEclipse这样的集成开发环境中高效地进行Hadoop应用开发,Hadoop-Eclipse-Plugin应运而生。这个插件允许开发者直接在IDE中对Hadoop集群进行操作,如创建、编辑和运行MapReduce任务,极大...

    hadoop插件apache-hadoop-3.1.0-winutils-master.zip

    标题中的"apache-hadoop-3.1.0-winutils-master.zip"是一个针对Windows用户的Hadoop工具包,它包含了运行Hadoop所需的特定于Windows的工具和配置。`winutils.exe`是这个工具包的关键组件,它是Hadoop在Windows上的一...

    Hadoop源码 包含mapred及mapreduce

    Hadoop源码 包含mapred

    Hadoop分布式配置文件mapred-site.xml

    Hadoop分布式配置文件mapred-site.xml,用于在搭建Hadoop分布式集群时,设置集群规划所用,集群中虚拟机都需要修改该配置文件,除此之外,还需要修改其他配置文件,包括core-site.xml、hdfs-site.xml和yarn-site.xml...

    hadoop-eclipse-plugin-3.1.1.tar.gz

    Hadoop-Eclipse-Plugin-3.1.1是一款专为Eclipse集成开发环境设计的插件,用于方便地在Hadoop分布式文件系统(HDFS)上进行开发和调试MapReduce程序。这款插件是Hadoop生态系统的组成部分,它使得Java开发者能够更加...

    hadoop3.3.0-winutils所有bin文件

    4. `mapred`: MapReduce的命令行工具,MapReduce是Hadoop的分布式计算模型,用于处理和生成大数据集。 5. `saslutil`: 安全认证相关的工具,用于Hadoop的安全配置和验证。 6. `kinit`: Kerberos身份验证工具,Hadoop...

    hadoop2.6-common-bin.zip

    这个错误通常由于Hadoop在Windows环境下缺少必要的依赖或配置不正确导致。 描述中提到的“解决在Windows上操作hadoop出现 Could not locate executable问题”意味着这个压缩包包含了帮助Windows用户顺利运行Hadoop...

    hadoop-common-2.6.0-bin-master.zip

    `hadoop-common-2.6.0-bin-master.zip` 是一个针对Hadoop 2.6.0版本的压缩包,特别适用于在Windows环境下进行本地开发和测试。这个版本的Hadoop包含了对Windows系统的优化,比如提供了`winutils.exe`,这是在Windows...

    mapred-default.xml

    Hadoop的mapred默认配置文件

    apache-hadoop-3.1.3-winutils-master.zip

    在这个"apache-hadoop-3.1.3-winutils-master.zip"压缩包中,包含了在Windows环境下配置Hadoop HDFS客户端所需的组件,特别是`hadoop-winutils`和`hadoop.dll`这两个关键文件,它们对于在Windows系统上运行Hadoop...

    hadoop-eclipse-plugin-3.3.1.jar

    Ubuntu虚拟机HADOOP集群搭建eclipse环境 hadoop-eclipse-plugin-3.3.1.jar

    hadoop-eclipse-plugin三个版本的插件都在这里了。

    hadoop-eclipse-plugin-2.7.4.jar和hadoop-eclipse-plugin-2.7.3.jar还有hadoop-eclipse-plugin-2.6.0.jar的插件都在这打包了,都可以用。

    hadoop-eclipse-plugin-2.7.3和2.7.7

    hadoop-eclipse-plugin-2.7.3和2.7.7的jar包 hadoop-eclipse-plugin-2.7.3和2.7.7的jar包 hadoop-eclipse-plugin-2.7.3和2.7.7的jar包 hadoop-eclipse-plugin-2.7.3和2.7.7的jar包

    hadoop-eclipse-plugin-2.10.0.jar

    Eclipse集成Hadoop2.10.0的插件,使用`ant`对hadoop的jar包进行打包并适应Eclipse加载,所以参数里有hadoop和eclipse的目录. 必须注意对于不同的hadoop版本,` HADDOP_INSTALL_PATH/share/hadoop/common/lib`下的jar包...

    flink-shaded-hadoop-2-uber-2.7.5-10.0.jar.zip

    Apache Flink 是一个流行的开源大数据处理框架,而 `flink-shaded-hadoop-2-uber-2.7.5-10.0.jar.zip` 文件是针对 Flink 优化的一个特殊版本的 Hadoop 库。这个压缩包中的 `flink-shaded-hadoop-2-uber-2.7.5-10.0....

    eclipse运行mr插件hadoop-eclipse-plugin-2.6.0.jar

    本文将深入探讨如何使用Eclipse IDE结合hadoop-eclipse-plugin-2.6.0.jar插件,实现在Windows环境下进行远程连接到Hadoop集群,尤其适用于64位操作系统。 首先,我们要理解Hadoop的核心概念。Hadoop是由Apache基金...

Global site tag (gtag.js) - Google Analytics