运行环境:jdk1.7,hadoop 2.6
调度器选择:fair schedule
关于fair schedule的配置肯定没问题。
我遇到的问题是这样,
调度器队列配置:
<allocations>
<queue name="hive_queue">
<minResources>1000 mb,1vcores</minResources>
<maxResources>5000 mb,5vcores</maxResources>
<maxRunningApps>10</maxRunningApps>
<maxAMShare>0.1</maxAMShare>
<weight>1.0</weight>
<schedulingPolicy>fair</schedulingPolicy>
</queue>
<queue name="mr_queue">
<minResources>1000 mb,1vcores</minResources>
<maxResources>5000 mb,5vcores</maxResources>
<maxRunningApps>5</maxRunningApps>
<maxAMShare>0.1</maxAMShare>
<weight>2.0</weight>
<schedulingPolicy>fair</schedulingPolicy>
</queue>
<queueMaxAMShareDefault>0.5</queueMaxAMShareDefault>
<!-- Queue 'secondary_group_queue' is a parent queue and may have user queues
under it -->
<queue name="secondary_group_queue" type="parent">
<weight>3.0</weight>
</queue>
<user name="sample_user">
<maxRunningApps>30</maxRunningApps>
</user>
<userMaxAppsDefault>5</userMaxAppsDefault>
<queuePlacementPolicy>
<rule name="specified" />
<rule name="primaryGroup" create="false" />
<rule name="nestedUserQueue">
<rule name="secondaryGroupExistingQueue" create="false" />
</rule>
<rule name="default" queue="sample_queue" />
</queuePlacementPolicy>
</allocations>
在hive中指定队列名称,比如hive_queue,命令:set mapreduce.job.queuename=hive_queue;提交一个hive的统计程序,在队列管理中看hive_queued的相关信息:Num Pending Applications:1 说明这个查询没有请求到资源,hive 只执行到:
Starting Job = job_1431392332169_0005, Tracking URL = http://master:8088/proxy/application_1431392332169_0005/
Kill Command = /home/hadoop/hadoop-2.6.0/bin/hadoop job -kill job_1431392332169_0005
就停住不动了。
如果我不指定队列,默认进入了sample_queue,就可以执行hive的分组统计功能。
有没有人遇到过这样的问题,请求解答!
|