[ 
https://issues.apache.org/jira/browse/AMBARI-21770?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16135663#comment-16135663
 ] 

Jonathan Hurley commented on AMBARI-21770:
------------------------------------------

Here is a summary of the 3 versions of Ambari at play here and what their 
installations do:

- HDP 2.5+ with Ambari 2.5.x allows installation of either Spark1 or Spark2. 
However, it doesn't matter which one you choose, it sets both {{spark_shuffle}} 
and {{spark2_suffle}}. This behavior has been around for a very long time and 
we can't change it this late in a release cycle. 
{code:title=HDP 2.5 with Ambari 2.5 and Either Spark1 or Spark2}
"yarn.nodemanager.aux-services": 
"mapreduce_shuffle,spark_shuffle,spark2_shuffle",
"yarn.nodemanager.aux-services.mapreduce_shuffle.class": 
"org.apache.hadoop.mapred.ShuffleHandler",
"yarn.nodemanager.aux-services.spark2_shuffle.class": 
"org.apache.spark.network.yarn.YarnShuffleService",
"yarn.nodemanager.aux-services.spark2_shuffle.classpath": 
"{{stack_root}}/${hdp.version}/spark2/aux/*",
"yarn.nodemanager.aux-services.spark_shuffle.class": 
"org.apache.spark.network.yarn.YarnShuffleService",
"yarn.nodemanager.aux-services.spark_shuffle.classpath": 
"{{stack_root}}/${hdp.version}/spark/aux/*",
{code}

- BigInsights 4.2.5 only allows installing Spark2. However it only configures 
{{spark_shuffle}} and points it at Spark2:
{code:title=BigInsights 4.2.5 with Spark2}
"yarn.nodemanager.aux-services": "mapreduce_shuffle,spark_shuffle",
"yarn.nodemanager.aux-services.mapreduce_shuffle.class": 
"org.apache.hadoop.mapred.ShuffleHandler",
"yarn.nodemanager.aux-services.spark_shuffle.class": 
"org.apache.spark.network.yarn.YarnShuffleService",
"yarn.nodemanager.aux-services.spark_shuffle.classpath": 
"{{stack_root}}/${iop.version}/spark2/aux/*",
{code}

- BigInsights 4.2.0 only allows installing Spark1. It doesn't even configure 
{{spark_shuffle}} by default:
{code:title=BigInsights 4.2.0 with Spark1}
"yarn.nodemanager.aux-services": "mapreduce_shuffle",
"yarn.nodemanager.aux-services.mapreduce_shuffle.class": 
"org.apache.hadoop.mapred.ShuffleHandler",
{code}

If these properties are not modified by the administrator, then on upgrade to 
HDP, they will be moved to the HDP 2.6 values which include both 
{{spark_shuffle}} and {{spark2_shuffle}}. 
It seems like the replacement of {{spark_shuffle}} with "" causes problems 
post-upgrade when adding spark2 to the cluster after-the-fact. 

I think that we need to set these values explicitly on upgrade instead of 
having it try to "remove" one.

{code:title=IOP 4.2.0 to HDP 2.6}
yarn.nodemanager.aux-services = mapreduce_shuffle,spark_shuffle
yarn.nodemanager.aux-services.spark_shuffle.class=org.apache.spark.network.yarn.YarnShuffleService
yarn.nodemanager.aux-services.spark_shuffle.classpath={{stack_root}}/${hdp.version}/spark/aux/*
{code}

{code:title=IOP 4.2.5 to HDP 2.6 (no change)}
yarn.nodemanager.aux-services = mapreduce_shuffle,spark_shuffle,spark2_shuffle
yarn.nodemanager.aux-services.spark_shuffle.class=org.apache.spark.network.yarn.YarnShuffleService
yarn.nodemanager.aux-services.spark_shuffle.classpath={{stack_root}}/${hdp.version}/spark/aux/*
yarn.nodemanager.aux-services.spark2_shuffle.class = 
org.apache.spark.network.yarn.YarnShuffleService
yarn.nodemanager.aux-services.spark2_shuffle.classpath={{stack_root}}/${hdp.version}/spark2/aux/*
{code}

> spark1 shuffle service not configured properly
> ----------------------------------------------
>
>                 Key: AMBARI-21770
>                 URL: https://issues.apache.org/jira/browse/AMBARI-21770
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.5.2
>            Reporter: Yesha Vora
>            Priority: Blocker
>
> Steps to reproduce:
> * Install BI 4.2.0
> * Upgrade to Ambari-2.5.2.0
> * Upgrade to HDP-2.6
> Here, Spark-shuffle service is not configured for Spark1 component. It only 
> configures Spark2-shuffle service
> {code:title=current yarn-site.xml after upgrade}
> yarn.nodemanager.aux-services = mapreduce_shuffle,spark2_shuffle
> yarn.nodemanager.aux-services.spark2_shuffle.class = 
> org.apache.spark.network.yarn.YarnShuffleService
> yarn.nodemanager.aux-services.spark2_shuffle.classpath={{stack_root}}/${hdp.version}/spark2/aux/*
> yarn.nodemanager.aux-services.spark_shuffle.class=org.apache.spark.network.yarn.YarnShuffleService
> yarn.nodemanager.aux-services.spark_shuffle.classpath={{stack_root}}/${hdp.version}/spark/aux/*
> yarn.timeline-service.entity-group-fs-store.group-id-plugin-classes  <EMPTY 
> VALUE>
> yarn.timeline-service.entity-group-fs-store.group-id-plugin-classpath <EMPTY 
> VALUE>{code}
> {code:title=expected yarn-site.xml}
> yarn.nodemanager.aux-services = mapreduce_shuffle,spark_shuffle
> yarn.nodemanager.aux-services.spark_shuffle.class=org.apache.spark.network.yarn.YarnShuffleService
> yarn.nodemanager.aux-services.spark_shuffle.classpath={{stack_root}}/${hdp.version}/spark/aux/*
> yarn.timeline-service.entity-group-fs-store.group-id-plugin-classpath=/usr/hdp/${hdp.version}/spark/hdpLib/*
> yarn.timeline-service.entity-group-fs-store.group-id-plugin-classes=org.apache.spark.deploy.history.yarn.plugin.SparkATSPlugin{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to