Created 10-25-2016 06:13 AM
Hi, I have setup Hive in my cluster. When I try to enter the Hive shell, I get the following error:
WARNING: Use "yarn jar" to launch YARN applications. Logging initialized using configuration in file:/etc/hive/2.3.4.7-4/0/hive-log4j.properties Exception in thread "main" java.lang.RuntimeException: org.apache.tez.dag.api.TezException: org.apache.hadoop.yarn.exceptions.YarnException: Failed to submit application_1477290706349_0010 to YARN : Application application_1477290706349_0010 submitted by user hive to unknown queue: default
I understand that it is trying to submit to some an unknown queue 'default' which perhaps does not exist. I have some queues in the Yarn Resource Manager whose screenshot I have attached.
It will be very helpful if anyone can guide on how I can hit the existing queue. Are there any configuration changes that need to be made?
Thanks.
Created 10-25-2016 12:53 PM
I dont see a default queue in your capacity scheduler. It is always recommended to have a defaut queue with some capacity so any queries that doesnt have a queue mapped can go to the default queue. As far as the current issue you are having, please set the below parameter before running your query.
if the query is running as MR:
set mapreduce.job.queuename=<queue name>
If the query is running as TEZ enginer:
set tez.queue.name=<queue name>
You can always pass this parameter as hiveconf as well.
Let me know if this helps
Created 10-25-2016 12:53 PM
I dont see a default queue in your capacity scheduler. It is always recommended to have a defaut queue with some capacity so any queries that doesnt have a queue mapped can go to the default queue. As far as the current issue you are having, please set the below parameter before running your query.
if the query is running as MR:
set mapreduce.job.queuename=<queue name>
If the query is running as TEZ enginer:
set tez.queue.name=<queue name>
You can always pass this parameter as hiveconf as well.
Let me know if this helps
Created 10-26-2016 09:20 AM
I set mapreduce.job.queuename=<queue name> and it works. Thanks a lot for your answer.