Kundan,

So I think your configuration here is incorrect. We need to adjust memory
and #executors. So for your case you have:

Cluster setup
5 nodes
16gb RAM
8 cores.
The number of executors should be the total number of nodes in your cluster
- in your case 5. As for --num-executor-cores it should be total cores on
the machine - 1 for the AM. So for your you --num-executor-cores=7. On to
memory. When configuring memory you need to account for the memory overhead
that spark adds - default is 7% of executor memory. If yarn has a max of
14GB per nodemanager, and you set your executor-memory to 14GB, spark is
actually requesting requesting 1.07*14GB = 14.98GB. You should double check
your configuration but if all your yarn containers have a max of 14GB then
no executors should be launching since spark can't get the resources it's
asking for. Maybe you have 3 node managers configured with more memory?

For your setup the memory calculation is:1
executorMemoryGB * 1.07 = 14GB => 14GB/1.07 ~ 13GB.

Your command args should be something like: --master yarn-cluster
--num-executors 5 --num-executor-cores 7 --executor-memory 13g

As for the UI, where did you see 7.2GB? can you send a screen shot?

Hope this helps,
Kostas


On Thursday, February 5, 2015, kundan kumar <iitr.kun...@gmail.com> wrote:

> The problem got resolved after removing all the configuration files from
> all the slave nodes. Earlier we were running in the standalone mode and
> that lead to duplicating the configuration on all the slaves. Once that was
> done it ran as expected in cluster mode. Although performance is not up to
> the standalone mode.
>
> However, as compared to the standalone mode, spark on yarn runs very slow.
>
> I am running it as
>
> $SPARK_HOME/bin/spark-submit --class "EDDApp" --master yarn-cluster
> --num-executors 10 --executor-memory 14g
>  target/scala-2.10/edd-application_2.10-1.0.jar
>  hdfs://hm41:9000/user/hduser/newtrans.csv
>  hdfs://hm41:9000/user/hduser/trans-out
>
> We have a cluster of 5 nodes with each having 16GB RAM and 8 cores each.
> We have configured the minimum container size as 3GB and maximum as 14GB in
> yarn-site.xml. When submitting the job to yarn-cluster we supply number of
> executor = 10, memory of executor =14 GB. According to my understanding our
> job should be allocated 4 container of 14GB. But the spark UI shows only 3
> container of 7.2GB each.
>
> We are unable to ensure the container number and resources allocated to
> it. This causes detrimental performance when compared to the standalone
> mode.
>
>
>
>
> Regards,
> Kundan
>
> On Thu, Feb 5, 2015 at 12:49 PM, Felix C <felixcheun...@hotmail.com>
> wrote:
>
>>  Is YARN_CONF_DIR set?
>>
>> --- Original Message ---
>>
>> From: "Aniket Bhatnagar" <aniket.bhatna...@gmail.com>
>> Sent: February 4, 2015 6:16 AM
>> To: "kundan kumar" <iitr.kun...@gmail.com>, "spark users" <
>> user@spark.apache.org>
>> Subject: Re: Spark Job running on localhost on yarn cluster
>>
>>  Have you set master in SparkConf/SparkContext in your code? Driver logs
>> show in which mode the spark job is running. Double check if the logs
>> mention local or yarn-cluster.
>> Also, what's the error that you are getting?
>>
>> On Wed, Feb 4, 2015, 6:13 PM kundan kumar <iitr.kun...@gmail.com> wrote:
>>
>> Hi,
>>
>>  I am trying to execute my code on a yarn cluster
>>
>>  The command which I am using is
>>
>>  $SPARK_HOME/bin/spark-submit --class "EDDApp"
>> target/scala-2.10/edd-application_2.10-1.0.jar --master yarn-cluster
>> --num-executors 3 --driver-memory 6g --executor-memory 7g <outpuPath>
>>
>>  But, I can see that this program is running only on the localhost.
>>
>>  Its able to read the file from hdfs.
>>
>>  I have tried this in standalone mode and it works fine.
>>
>>  Please suggest where is it going wrong.
>>
>>
>>  Regards,
>> Kundan
>>
>>
>

Reply via email to