[
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)