Archives of Support Questions (Read Only)

This is an archived board for historical reference. Information and links may no longer be available or relevant
Announcements
This board is archived and read-only for historical reference. To ask a new question, please post a new topic on the appropriate active board.

Importtsv tool - Specify a YARN Queue?

avatar
Cloudera Employee

When using the importtsv tool is there a way to specify a YARN queue? Despite attempting to set a YARN queue it always goes to the 'default' queue.

1 ACCEPTED SOLUTION

avatar

@Brad Bukacek Jr You could assign a default query to the user that is executing the importtsv statement.

What Scheduler are you using? Capacity or Fair Scheduler?

Here is the configuration for the capacity scheduler:

yarn.scheduler.capacity.queue-mappings

This configuration specifies the mapping of user or group to aspecific queue. You can map a single user or a list of users to queues. Syntax: [u or g]:[name]:[queue_name][,next_mapping]*. Here, u or g indicates whether the mapping is for a user or group. The value is u for user and g for group. name indicates the user name or group name. To specify the user who has submitted the application, %user can be used. queue_name indicates the queue name for which the application has to be mapped. To specify queue name same as user name, %user can be used. To specify queue name same as the name of the primary group for which the user belongs to, %primary_group can be used.

Example:

<property>
   <name>yarn.scheduler.capacity.queue-mappings</name>
   <value>u:user1:queue1,g:group1:queue2,u:%user:%user,u:user2:%primary_group</value>
   <description>
     Here, <user1> is mapped to <queue1>, <group1> is mapped to <queue2>, 
     maps users to queues with the same name as user, <user2> is mapped 
     to queue name same as <primary group> respectively. The mappings will be 
     evaluated from left to right, and the first valid mapping will be used.
   </description>
 </property>

View solution in original post

3 REPLIES 3

avatar
Master Mentor

You need to use -Dmapreduce.job.queuename=anotherqueue

just confirmed the following works

hbase org.apache.hadoop.hbase.mapreduce.RowCounter -Dmapreduce.job.queuename=hive1 TestTable

avatar

@Brad Bukacek Jr You could assign a default query to the user that is executing the importtsv statement.

What Scheduler are you using? Capacity or Fair Scheduler?

Here is the configuration for the capacity scheduler:

yarn.scheduler.capacity.queue-mappings

This configuration specifies the mapping of user or group to aspecific queue. You can map a single user or a list of users to queues. Syntax: [u or g]:[name]:[queue_name][,next_mapping]*. Here, u or g indicates whether the mapping is for a user or group. The value is u for user and g for group. name indicates the user name or group name. To specify the user who has submitted the application, %user can be used. queue_name indicates the queue name for which the application has to be mapped. To specify queue name same as user name, %user can be used. To specify queue name same as the name of the primary group for which the user belongs to, %primary_group can be used.

Example:

<property>
   <name>yarn.scheduler.capacity.queue-mappings</name>
   <value>u:user1:queue1,g:group1:queue2,u:%user:%user,u:user2:%primary_group</value>
   <description>
     Here, <user1> is mapped to <queue1>, <group1> is mapped to <queue2>, 
     maps users to queues with the same name as user, <user2> is mapped 
     to queue name same as <primary group> respectively. The mappings will be 
     evaluated from left to right, and the first valid mapping will be used.
   </description>
 </property>

avatar
Master Mentor

@Brad Bukacek J

Blog : https://www.linkedin.com/pulse/yarn-queues-hadoop-neeraj-sabharwal

Capacity sheduler view has an option for user mapping

555-screen-shot-2015-11-23-at-43839-pm.png

format

556-screen-shot-2015-11-23-at-44255-pm.png