hadoop作业提交时可以指定相应的队列,例如:-Dmapred.job.queue.name=queue2
通过对mapred-queue-acls.xml和mapred-site.xml配置可以对不同的队列实现不同用户的提交权限.
先编辑mapred-site.xml,修改配置如下(增加四个队列):
- <property>
- <name>mapred.queue.names</name>
- <value>default,queue1,queue2,queue3,queue4</value>
- <description>Commaseparatedlistofqueuesconfiguredforthisjobtracker.
- Jobsareaddedtoqueuesandschedulerscanconfiguredifferent
- schedulingpropertiesforthevariousqueues.Toconfigureaproperty
- foraqueue,thenameofthequeuemustmatchthenamespecifiedinthis
- value.Queuepropertiesthatarecommontoallschedulersareconfigured
- herewiththenamingconvention,mapred.queue.$QUEUE-NAME.$PROPERTY-NAME,
- fore.g.mapred.queue.default.submit-job-acl.
- Thenumberofqueuesconfiguredinthisparametercoulddependonthe
- typeofschedulerbeingused,asspecifiedin
- mapred.jobtracker.taskScheduler.Forexample,theJobQueueTaskScheduler
- supportsonlyasinglequeue,whichisthedefaultconfiguredhere.
- Beforeaddingmorequeues,ensurethatthescheduleryou'veconfigured
- supportsmultiplequeues.
- </description>
- </property>
修改生效后通过jobtrack界面可以看到配置的队列信息:
要对队列进行控制, 还需要编辑mapred-queue-acls.xml文件
- <property>
- <name>mapred.queue.queue1.acl-submit-job</name>
- <value>''</value>
- <description>Commaseparatedlistofuserandgroupnamesthatareallowed
- tosubmitjobstothe'default'queue.Theuserlistandthegrouplist
- areseparatedbyablank.Fore.g.user1,user2group1,group2.
- Ifsettothespecialvalue'*',itmeansallusersareallowedto
- submitjobs.Ifsetto''(i.e.space),nouserwillbeallowedtosubmit
- jobs.
- ItisonlyusedifauthorizationisenabledinMap/Reducebysettingthe
-
configurationpropertymapred.acls.enabledtotrue.
- IrrespectiveofthisACLconfiguration,theuserwhostartedtheclusterand
- clusteradministratorsconfiguredvia
- mapreduce.cluster.administratorscansubmitjobs.
- </description>
- </property>
要配置多个队列, 只需要重复添加上面配置信息,修改队列名称和value值,为方便测试,queue1禁止所有用户向其提交作业.
要使该配置生效, 还需要修改mapred-site.xml,将mapred.acls.enabled值设置为true
- <property>
- <name>mapred.acls.enabled</name>
- <value>true</value>
- <description>SpecifieswhetherACLsshouldbechecked
- forauthorizationofusersfordoingvariousqueueandjobleveloperations.
- ACLsaredisabledbydefault.Ifenabled,accesscontrolchecksaremadeby
- JobTrackerandTaskTrackerwhenrequestsaremadebyusersforqueue
- operationslikesubmitjobtoaqueueandkillajobinthequeueandjob
- operationslikeviewingthejob-details(Seemapreduce.job.acl-view-job)
- orformodifyingthejob(Seemapreduce.job.acl-modify-job)using
- Map/ReduceAPIs,RPCsorviatheconsoleandwebuserinterfaces.
- </description>
- </property>
重启hadoop, 使配置生效, 接下来拿hive进行测试:
先使用queue2队列:
- setmapred.job.queue.name=queue2;
- hive>
- >selectcount(*)fromt_aa_pc_log;
- TotalMapReducejobs=1
- LaunchingJob1outof1
- Numberofreducetasksdeterminedatcompiletime:1
- Inordertochangetheaverageloadforareducer(inbytes):
- sethive.exec.reducers.bytes.per.reducer=<number>
- Inordertolimitthemaximumnumberofreducers:
- sethive.exec.reducers.max=<number>
- Inordertosetaconstantnumberofreducers:
- setmapred.reduce.tasks=<number>
- StartingJob=job_201205211843_0002,TrackingURL=http://192.168.189.128:50030/jobdetails.jsp?jobid=job_201205211843_0002
- KillCommand=/opt/app/hadoop-0.20.2-cdh3u3/bin/hadoopjob-Dmapred.job.tracker=192.168.189.128:9020-killjob_201205211843_0002
- 2012-05-2118:45:01,593Stage-1map=0%,reduce=0%
- 2012-05-2118:45:04,613Stage-1map=100%,reduce=0%
- 2012-05-2118:45:12,695Stage-1map=100%,reduce=100%
- EndedJob=job_201205211843_0002
- OK
- 136003
- Timetaken:14.674seconds
- hive>
作业成功完成
再来向queue1队列提交作业:
- >setmapred.job.queue.name=queue1;
- hive>selectcount(*)fromt_aa_pc_log;
- TotalMapReducejobs=1
- LaunchingJob1outof1
- Numberofreducetasksdeterminedatcompiletime:1
- Inordertochangetheaverageloadforareducer(inbytes):
- sethive.exec.reducers.bytes.per.reducer=<number>
- Inordertolimitthemaximumnumberofreducers:
- sethive.exec.reducers.max=<number>
- Inordertosetaconstantnumberofreducers:
- setmapred.reduce.tasks=<number>
- org.apache.hadoop.ipc.RemoteException:org.apache.hadoop.security.AccessControlException:Userp_sdo_data_01cannotperformoperationSUBMIT_JOBonqueuequeue1.
- Pleaserun"hadoopqueue-showacls"commandtofindthequeuesyouhaveaccessto.
- atorg.apache.hadoop.mapred.ACLsManager.checkAccess(ACLsManager.java:179)
- atorg.apache.hadoop.mapred.ACLsManager.checkAccess(ACLsManager.java:136)
- atorg.apache.hadoop.mapred.ACLsManager.checkAccess(ACLsManager.java:113)
- atorg.apache.hadoop.mapred.JobTracker.submitJob(JobTracker.java:3781)
- atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
- atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- atjava.lang.reflect.Method.invoke(Method.java:597)
- atorg.apache.hadoop.ipc.RPC$Server.call(RPC.java:557)
- atorg.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1434)
- atorg.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1430)
- atjava.security.AccessController.doPrivileged(NativeMethod)
- atjavax.security.auth.Subject.doAs(Subject.java:396)
- atorg.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1157)
- atorg.apache.hadoop.ipc.Server$Handler.run(Server.java:1428)
作业提交失败!
最后, 可以使用hadoop queue -showacls 命令查看队列信息:
- [hadoop@localhostconf]$hadoopqueue-showacls
- Queueaclsforuser:hadoop
- QueueOperations
- =====================
-
queue1administer-jobs
- queue2submit-job,administer-jobs
- queue3submit-job,administer-jobs
- queue4submit-job,administer-jobs
分享到:
相关推荐
Hadoop 2.9.0版本中的mapred-default.xml文件包含了MapReduce作业的配置属性,这些属性定义了MapReduce作业执行过程中的各种行为和参数。下面我们来详细介绍mapred-site.xml文件中的一些关键属性。 1. mapreduce....
avro-mapred-1.7.7-hadoop2.jar
补充:配置yarn的步骤:1、配置yarn-site.xml;2、配置mapred-site.xml;3、配置历史服务器。
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 ...
为了方便开发者在Eclipse或MyEclipse这样的集成开发环境中高效地进行Hadoop应用开发,Hadoop-Eclipse-Plugin应运而生。这个插件允许开发者直接在IDE中对Hadoop集群进行操作,如创建、编辑和运行MapReduce任务,极大...
标题中的"apache-hadoop-3.1.0-winutils-master.zip"是一个针对Windows用户的Hadoop工具包,它包含了运行Hadoop所需的特定于Windows的工具和配置。`winutils.exe`是这个工具包的关键组件,它是Hadoop在Windows上的一...
Hadoop源码 包含mapred
Hadoop分布式配置文件mapred-site.xml,用于在搭建Hadoop分布式集群时,设置集群规划所用,集群中虚拟机都需要修改该配置文件,除此之外,还需要修改其他配置文件,包括core-site.xml、hdfs-site.xml和yarn-site.xml...
Hadoop-Eclipse-Plugin-3.1.1是一款专为Eclipse集成开发环境设计的插件,用于方便地在Hadoop分布式文件系统(HDFS)上进行开发和调试MapReduce程序。这款插件是Hadoop生态系统的组成部分,它使得Java开发者能够更加...
4. `mapred`: MapReduce的命令行工具,MapReduce是Hadoop的分布式计算模型,用于处理和生成大数据集。 5. `saslutil`: 安全认证相关的工具,用于Hadoop的安全配置和验证。 6. `kinit`: Kerberos身份验证工具,Hadoop...
这个错误通常由于Hadoop在Windows环境下缺少必要的依赖或配置不正确导致。 描述中提到的“解决在Windows上操作hadoop出现 Could not locate executable问题”意味着这个压缩包包含了帮助Windows用户顺利运行Hadoop...
`hadoop-common-2.6.0-bin-master.zip` 是一个针对Hadoop 2.6.0版本的压缩包,特别适用于在Windows环境下进行本地开发和测试。这个版本的Hadoop包含了对Windows系统的优化,比如提供了`winutils.exe`,这是在Windows...
Hadoop的mapred默认配置文件
在这个"apache-hadoop-3.1.3-winutils-master.zip"压缩包中,包含了在Windows环境下配置Hadoop HDFS客户端所需的组件,特别是`hadoop-winutils`和`hadoop.dll`这两个关键文件,它们对于在Windows系统上运行Hadoop...
Ubuntu虚拟机HADOOP集群搭建eclipse环境 hadoop-eclipse-plugin-3.3.1.jar
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的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包
Eclipse集成Hadoop2.10.0的插件,使用`ant`对hadoop的jar包进行打包并适应Eclipse加载,所以参数里有hadoop和eclipse的目录. 必须注意对于不同的hadoop版本,` HADDOP_INSTALL_PATH/share/hadoop/common/lib`下的jar包...
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 IDE结合hadoop-eclipse-plugin-2.6.0.jar插件,实现在Windows环境下进行远程连接到Hadoop集群,尤其适用于64位操作系统。 首先,我们要理解Hadoop的核心概念。Hadoop是由Apache基金...