Can you open the Resource Manager(RM) UI and share screenshot of main RM page. We can check cluster resources there. Most probably cluster does not have enough resources. How much memory and VCores does your AM need ? RM UI can be accessed at http://localhost:8088/
- Varun Saxena. From: Phillip Wu [mailto:[email protected]] Sent: 15 June 2016 14:42 To: [email protected] Cc: Sunil Govind Subject: RE: maximum-am-resource-percent is insufficient to start a single application 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]<mailto:[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?
