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

ASF GitHub Bot commented on HADOOP-19835:
-----------------------------------------

lewismc commented on code in PR #8331:
URL: https://github.com/apache/hadoop/pull/8331#discussion_r2918089016


##########
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-jobclient/src/main/java/org/apache/hadoop/mapred/YARNRunner.java:
##########
@@ -503,7 +503,9 @@ private List<String> setupAMCommand(Configuration jobConf) {
       }
     }
 
-    vargs.add(MRJobConfig.APPLICATION_MASTER_CLASS);
+    String amClass = jobConf.get("yarn.app.mapreduce.am",

Review Comment:
   BTW, the command I am trying to run
   ```
   docker compose -f docker-compose.yml -f docker-compose.celeborn.yml exec -u 
hadoop namenode hadoop jar 
/opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.4.3.jar pi 2 4
   ```
   If you need access to the Docker composition to test, please let me know. 
Thank you.





> Make MapReduce Application Master class configurable in YARNRunner
> ------------------------------------------------------------------
>
>                 Key: HADOOP-19835
>                 URL: https://issues.apache.org/jira/browse/HADOOP-19835
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: mapreduce
>    Affects Versions: 3.4.3
>            Reporter: Lewis John McGibbney
>            Assignee: Lewis John McGibbney
>            Priority: Minor
>              Labels: patch, pull-request-available
>
> YARNRunner currently always uses {{MRJobConfig.APPLICATION_MASTER_CLASS}} 
> when building the command to start the Application Master, and does not read 
> {{{}yarn.app.mapreduce.am{}}}. As a result, custom AM classes (e.g. 
> Celeborn’s {{{}MRAppMasterWithCeleborn{}}}) are never used when submitting 
> jobs via the standard job client.
> This patch changes YARNRunner to take the AM class from configuration: it 
> uses {{jobConf.get("yarn.app.mapreduce.am", 
> MRJobConfig.APPLICATION_MASTER_CLASS)}} and passes that value into the launch 
> arguments. If {{yarn.app.mapreduce.am}} is set, that class is used; otherwise 
> behavior is unchanged (default AM class). This allows remote shuffle and 
> other custom AMs to be used without forking the job client.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to