Hi,

The 'root' doesn't matter. You may run jobs as any username on an
unsecured cluster, should be just the same.

The config yarn.nodemanager.resource.memory-mb = 1200 is your issue.
By default, the tasks will execute with a resource demand of 1 GB, and
the AM itself demands, by default, 1.5 GB to run. None of your nodes
are hence able to start your AM (demand=1500mb) and hence if the AM
doesn't start, your job won't initiate either.

You can do a few things:

1. Raise yarn.nodemanager.resource.memory-mb to a value close to 4 GB
perhaps, if you have the RAM? Think of it as the new 'slots' divider.
The larger the offering (close to total RAM you can offer for
containers from the machine), the more the tasks that may run on it
(depending on their own demand, of course). Reboot the NM's one by one
and this app will begin to execute.
2. Lower the AM's requirement, i.e. lower
yarn.app.mapreduce.am.resource.mb in your client's mapred-site.xml or
job config from 1500 to 1000 or less, so it fits in the NM's offering.
Likewise, control the map and reduce's requests via
mapreduce.map.memory.mb and mapreduce.reduce.memory.mb as needed.
Resubmit the job with these lowered requirements and things should now
work.

Optionally, you may also cap the max/min possible requests via
"yarn.scheduler.minimum-allocation-mb" and
"yarn.scheduler.maximum-allocation-mb", such that no app/job ends up
demanding more than a certain limit and hence run into the
'forever-waiting' state as in your case.

Hope this helps! For some communication diagrams on how an app (such
as MR2, etc.) may work on YARN and how the resource negotiation works,
you can check out this post from Ahmed at
http://www.cloudera.com/blog/2012/02/mapreduce-2-0-in-hadoop-0-23/

On Sat, Jul 28, 2012 at 3:35 AM, anil gupta <anilgupt...@gmail.com> wrote:
> Hi Harsh,
>
> I have set the *yarn.nodemanager.resource.memory-mb *to 1200 mb. Also, does
> it matters if i run the jobs as "root" while the RM service and NM service
> are running as "yarn" user? However, i have created the /user/root
> directory for root user in hdfs.
>
> Here is the yarn-site.xml:
> <configuration>
>   <property>
>     <name>yarn.nodemanager.aux-services</name>
>     <value>mapreduce.shuffle</value>
>   </property>
>
>   <property>
>     <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
>     <value>org.apache.hadoop.mapred.ShuffleHandler</value>
>   </property>
>
>   <property>
>     <name>yarn.log-aggregation-enable</name>
>     <value>true</value>
>   </property>
>
>   <property>
>     <description>List of directories to store localized files
> in.</description>
>     <name>yarn.nodemanager.local-dirs</name>
>     <value>/disk/yarn/local</value>
>   </property>
>
>   <property>
>     <description>Where to store container logs.</description>
>     <name>yarn.nodemanager.log-dirs</name>
>     <value>/disk/yarn/logs</value>
>   </property>
>
>   <property>
>     <description>Where to aggregate logs to.</description>
>     <name>yarn.nodemanager.remote-app-log-dir</name>
>     <value>/var/log/hadoop-yarn/apps</value>
>   </property>
>
>   <property>
>     <description>Classpath for typical applications.</description>
>      <name>yarn.application.classpath</name>
>      <value>
>         $HADOOP_CONF_DIR,
>         $HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*,
>         $HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*,
>         $HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*,
>         $YARN_HOME/*,$YARN_HOME/lib/*
>      </value>
>   </property>
> <property>
>     <name>yarn.resourcemanager.resource-tracker.address</name>
>     <value>ihub-an-l1:8025</value>
> </property>
> <property>
>     <name>yarn.resourcemanager.address</name>
>     <value>ihub-an-l1:8040</value>
> </property>
> <property>
>     <name>yarn.resourcemanager.scheduler.address</name>
>     <value>ihub-an-l1:8030</value>
> </property>
> <property>
>     <name>yarn.resourcemanager.admin.address</name>
>     <value>ihub-an-l1:8141</value>
> </property>
> <property>
>     <name>yarn.resourcemanager.webapp.address</name>
>     <value>ihub-an-l1:8088</value>
> </property>
> <property>
>         <name>mapreduce.jobhistory.intermediate-done-dir</name>
>         <value>/disk/mapred/jobhistory/intermediate/done</value>
> </property>
> <property>
>         <name>mapreduce.jobhistory.done-dir</name>
>         <value>/disk/mapred/jobhistory/done</value>
> </property>
>
> <property>
>         <name>yarn.web-proxy.address</name>
>         <value>ihub-an-l1:9999</value>
> </property>
> <property>
>     <name>yarn.app.mapreduce.am.staging-dir</name>
>         <value>/user</value>
> </property>
>
> *<property>
>     <description>Amount of physical memory, in MB, that can be allocated
>           for containers.</description>
>        <name>yarn.nodemanager.resource.memory-mb</name>
>         <value>1200</value>
> </property>*
>
> </configuration>
>
>
>
>
> On Fri, Jul 27, 2012 at 2:23 PM, Harsh J <ha...@cloudera.com> wrote:
>
>> Can you share your yarn-site.xml contents? Have you tweaked memory
>> sizes in there?
>>
>> On Fri, Jul 27, 2012 at 11:53 PM, anil gupta <anilgupt...@gmail.com>
>> wrote:
>> > Hi All,
>> >
>> > I have a Hadoop 2.0 alpha(cdh4)  hadoop/hbase cluster runnning on
>> > CentOS6.0. The cluster has 4 admin nodes and 8 data nodes. I have the RM
>> > and History server running on one machine. RM web interface shows that 8
>> > Nodes are connected to it. I installed this cluster with HA capability
>> and
>> > I have already tested HA for Namenodes, ZK, HBase Master. I am running
>> the
>> > pi example mapreduce job with user "root" and i have created "/user/root"
>> > directory in HDFS.
>> >
>> > Last few lines of one of the nodemanager:
>> > 2012-07-26 21:58:38,745 INFO org.mortbay.log: Extract
>> >
>> jar:file:/usr/lib/hadoop-yarn/hadoop-yarn-common-2.0.0-cdh4.0.0.jar!/webapps/node
>> > to /tmp/Jetty_0_0_0_0_8042_node____19tj0x/webapp
>> > 2012-07-26 21:58:38,907 INFO org.mortbay.log: Started
>> > SelectChannelConnector@0.0.0.0:8042
>> > 2012-07-26 21:58:38,907 INFO org.apache.hadoop.yarn.webapp.WebApps: Web
>> app
>> > /node started at 8042
>> > 2012-07-26 21:58:38,919 INFO org.apache.hadoop.yarn.webapp.WebApps:
>> > Registered webapp guice modules
>> > 2012-07-26 21:58:38,919 INFO
>> > org.apache.hadoop.yarn.service.AbstractService:
>> > Service:org.apache.hadoop.yarn.server.nodemanager.webapp.WebServer is
>> > started.
>> > 2012-07-26 21:58:38,919 INFO
>> > org.apache.hadoop.yarn.service.AbstractService: Service:Dispatcher is
>> > started.
>> > 2012-07-26 21:58:38,922 INFO
>> > org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl:
>> Connected
>> > to ResourceManager at ihub-an-l1/172.31.192.151:8025
>> > 2012-07-26 21:58:38,924 INFO
>> > org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl:
>> Registered
>> > with ResourceManager as ihub-dn-l2:53199 with total resource of memory:
>> 1200
>> > 2012-07-26 21:58:38,924 INFO
>> > org.apache.hadoop.yarn.service.AbstractService:
>> > Service:org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl
>> is
>> > started.
>> > 2012-07-26 21:58:38,929 INFO
>> > org.apache.hadoop.yarn.service.AbstractService:
>> > Service:org.apache.hadoop.yarn.server.nodemanager.NodeManager is started.
>> > *2012-07-26 21:58:38,929 INFO
>> > org.apache.hadoop.yarn.service.AbstractService:
>> > Service:org.apache.hadoop.yarn.server.nodemanager.NodeStatusUpdaterImpl
>> is
>> > stopped.*
>> >
>> > Why is the nodestatusupdaterImpl is stopped?
>> >
>> > Here is the last few lines of the RM:
>> > 2012-07-27 09:38:24,644 INFO
>> > org.apache.hadoop.yarn.server.resourcemanager.ClientRMService: Allocated
>> > new applicationId: 2
>> > 2012-07-27 09:38:25,310 INFO
>> > org.apache.hadoop.yarn.server.resourcemanager.ClientRMService:
>> Application
>> > with id 2 submitted by user root
>> > 2012-07-27 09:38:25,310 INFO
>> > org.apache.hadoop.yarn.server.resourcemanager.RMAuditLogger: USER=root
>> > IP=172.31.192.51        OPERATION=Submit Application Request
>> > TARGET=ClientRMService  RESULT=SUCCESS
>>  APPID=application_1343365114818_0002
>> > 2012-07-27 09:38:25,310 INFO
>> > org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl:
>> > application_1343365114818_0002 State change from NEW to SUBMITTED
>> > 2012-07-27 09:38:25,311 INFO
>> > org.apache.hadoop.yarn.server.resourcemanager.ApplicationMasterService:
>> > Registering appattempt_1343365114818_0002_000001
>> > 2012-07-27 09:38:25,311 INFO
>> >
>> org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl:
>> > appattempt_1343365114818_0002_000001 State change from NEW to SUBMITTED
>> > 2012-07-27 09:38:25,311 INFO
>> >
>> org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler:
>> > Application Submission: application_1343365114818_0002 from root,
>> currently
>> > active: 1
>> > 2012-07-27 09:38:25,311 INFO
>> >
>> org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl:
>> > appattempt_1343365114818_0002_000001 State change from SUBMITTED to
>> > SCHEDULED
>> > 2012-07-27 09:38:25,311 INFO
>> > org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl:
>> > application_1343365114818_0002 State change from SUBMITTED to ACCEPTED
>> >
>> > The Pi example job is stuck from last 1 hour. Why it is not trying to
>> start
>> > tasks in NM's?
>> >
>> > Here is the command i fired to run the job:
>> > [root@ihub-nn-a1 hadoop-yarn]# hadoop --config /etc/hadoop/conf/ jar
>> > /usr/lib/hadoop-mapreduce/hadoop-*-examples.jar pi 10 100000
>> > Number of Maps  = 10
>> > Samples per Map = 100000
>> > Wrote input for Map #0
>> > Wrote input for Map #1
>> > Wrote input for Map #2
>> > Wrote input for Map #3
>> > Wrote input for Map #4
>> > Wrote input for Map #5
>> > Wrote input for Map #6
>> > Wrote input for Map #7
>> > Wrote input for Map #8
>> > Wrote input for Map #9
>> > Starting Job
>> > 12/07/27 09:38:27 INFO input.FileInputFormat: Total input paths to
>> process
>> > : 10
>> > 12/07/27 09:38:27 INFO mapreduce.JobSubmitter: number of splits:10
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapred.jar is deprecated.
>> > Instead, use mapreduce.job.jar
>> > 12/07/27 09:38:27 WARN conf.Configuration:
>> > mapred.map.tasks.speculative.execution is deprecated. Instead, use
>> > mapreduce.map.speculative
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapred.reduce.tasks is
>> > deprecated. Instead, use mapreduce.job.reduces
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapred.output.value.class is
>> > deprecated. Instead, use mapreduce.job.output.value.class
>> > 12/07/27 09:38:27 WARN conf.Configuration:
>> > mapred.reduce.tasks.speculative.execution is deprecated. Instead, use
>> > mapreduce.reduce.speculative
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapreduce.map.class is
>> > deprecated. Instead, use mapreduce.job.map.class
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapred.job.name is
>> deprecated.
>> > Instead, use mapreduce.job.name
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapreduce.reduce.class is
>> > deprecated. Instead, use mapreduce.job.reduce.class
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapreduce.inputformat.class is
>> > deprecated. Instead, use mapreduce.job.inputformat.class
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapred.input.dir is
>> deprecated.
>> > Instead, use mapreduce.input.fileinputformat.inputdir
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapred.output.dir is
>> deprecated.
>> > Instead, use mapreduce.output.fileoutputformat.outputdir
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapreduce.outputformat.class
>> is
>> > deprecated. Instead, use mapreduce.job.outputformat.class
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapred.map.tasks is
>> deprecated.
>> > Instead, use mapreduce.job.maps
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapred.output.key.class is
>> > deprecated. Instead, use mapreduce.job.output.key.class
>> > 12/07/27 09:38:27 WARN conf.Configuration: mapred.working.dir is
>> > deprecated. Instead, use mapreduce.job.working.dir
>> > 12/07/27 09:38:27 INFO mapred.ResourceMgrDelegate: Submitted application
>> > application_1343365114818_0002 to ResourceManager at ihub-an-l1/
>> > 172.31.192.151:8040
>> > 12/07/27 09:38:27 INFO mapreduce.Job: The url to track the job:
>> > http://ihub-an-l1:9999/proxy/application_1343365114818_0002/
>> > 12/07/27 09:38:27 INFO mapreduce.Job: Running job: job_1343365114818_0002
>> >
>> > No Map-Reduce task are started by the cluster. I dont see any errors
>> > anywhere in the application. Please help me in resolving this problem.
>> >
>> > Thanks,
>> > Anil Gupta
>>
>>
>>
>> --
>> Harsh J
>>
>
>
>
> --
> Thanks & Regards,
> Anil Gupta



-- 
Harsh J

Reply via email to