Sunil,
Thanks for your email.
1. I don’t think anything on the cluster is being used – see below
I’m not sure how to get my “total cluster resource size” – please advise how to
get this?
After doing the hive insert I get this:
hduser@ip-10-118-112-182:/$ hadoop queue -info default -showJobs
16/06/10 02:24:49 INFO client.RMProxy: Connecting to ResourceManager at
/127.0.0.1:8050
======================
Queue Name : default
Queue State : running
Scheduling Info : Capacity: 100.0, MaximumCapacity: 100.0, CurrentCapacity: 0.0
Total jobs:1
JobId State StartTime UserName
Queue Priority UsedContainers RsvdContainers UsedMem
RsvdMem NeededMem AM info
job_1465523894946_0001 PREP 1465524072194 hduser
default NORMAL 0 0 0M
0M 0M
http://localhost:8088/proxy/application_1465523894946_0001/
hduser@ip-10-118-112-182:/$ mapred job -status job_1465523894946_0001
Job: job_1465523894946_0001
Job File:
/tmp/hadoop-yarn/staging/hduser/.staging/job_1465523894946_0001/job.xml
Job Tracking URL : http://localhost:8088/proxy/application_1465523894946_0001/
Uber job : false
Number of maps: 0
Number of reduces: 0
map() completion: 0.0
reduce() completion: 0.0
Job state: PREP
retired: false
reason for failure:
Counters: 0
2. There are no other applications except I’m running zookeeper
3. There is only one user
For your assistance this seems to be the code generating the error
message[…yarn/server/resourcemanager/scheduler/capacity/LeafQueue.java]:
if (!Resources.lessThanOrEqual(
resourceCalculator, lastClusterResource, userAmIfStarted,
userAMLimit)) {
if (getNumActiveApplications() < 1) {
LOG.warn("maximum-am-resource-percent is insufficient to start a" +
" single application in queue for user, it is likely set too low." +
" skipping enforcement to allow at least one application to start");
} else {
LOG.info("not starting application as amIfStarted exceeds " +
"userAmLimit");
continue;
}
}
Any ideas?
Phillip
From: Sunil Govind [mailto:[email protected]]
Sent: Wednesday, 15 June 2016 4:24 PM
To: Phillip Wu; [email protected]
Subject: Re: maximum-am-resource-percent is insufficient to start a single
application
Hi Philip
Higher maximum-am-resource-percent value (0~1) will help to allocate more
resource for your ApplicationMaster container of a yarn application (MR Jobs
here), but also depend on the capacity configured for the queue. You have
mentioned that there is only default queue here, so that wont be a problem. Few
questions:
- How much is your total cluster resource size and how much of cluster
resource is used now ?
- Is there any other application were running in cluster and whether it was
taking full cluster resource.? This is a possibility since you now gave whole
queue's capacity for AM containers.
- Do you have multiple users in your cluster who runs applications other
that this hive job? If so,
yarn.scheduler.capacity.<queue-path>.minimum-user-limit-percent will have
impact on AM resource usage limit. I think you can double check this.
- Sunil
On Wed, Jun 15, 2016 at 8:47 AM Phillip Wu
<[email protected]<mailto:[email protected]>> wrote:
Hi,
I'm new to Hadoop and Hive.
I'm using Hadoop 2.6.4 (binary I got from internet) & Hive 2.0.1 (binary I got
from internet).
I can create a database and table in hive.
However when I try to insert a record into a previously created table I get:
"org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.LeafQueue:
maximum-am-resource-percent is insufficient to start a single application in
queue"
yarn-site.xml
<property>
<name>yarn.resourcemanager.scheduler.class</name>
<value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
capacity-scheduler.xml
<property>
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>1.0</value>
<description>
Maximum percent of resources in the cluster which can be used to run
application masters i.e. controls number of concurrent running
applications.
</description>
</property>
According to the documentation this means I have allocated 100% to my one and
only default scheduler queue.
[https://hadoop.apache.org/docs/r2.6.4/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html]
"yarn.scheduler.capacity.maximum-am-resource-percent /
yarn.scheduler.capacity.<queue-path>.maximum-am-resource-percent
Maximum percent of resources in the cluster which can be used to run
application masters - controls number of concurrent active applications.
Limits on each queue are directly proportional to their queue capacities and
user limits.
Specified as a float - ie 0.5 = 50%. Default is 10%. This can be set for all
queues with yarn.scheduler.capacity.maximum-am-resource-percent and can also be
overridden on a per queue basis by setting
yarn.scheduler.capacity.<queue-path>.maximum-am-resource-percent"
Can someone tell me how to fix this?