Radeity opened a new pull request, #13550:
URL: https://github.com/apache/dolphinscheduler/pull/13550

   <!--Thanks very much for contributing to Apache DolphinScheduler. Please 
review 
https://dolphinscheduler.apache.org/en-us/community/development/pull-request.html
 before opening a pull request.-->
   
   ## Purpose of the pull request
   
   - This PR closes https://github.com/apache/dolphinscheduler/issues/13511.
   
   ## Brief change log
   
   
   Now in DS, use `Yarn` as application manager by default, e.g. directly 
executes `yarn application -kill <appId>` for canceling application. For using 
different resource manager such as `Kubernetes`, this pr makes following 
changes:
   
   - Create `ApplicationManager`, implement `KubernetesApplicationManager` and 
`YarnApplicationManager`, design as SPI way. Only support **kill application** 
and **query application status** now.
   - Modify am-related configuration and function name, e.g. change 
`killYarnJobWhenTaskFailover` to `killApplicationWhenTaskFailover`.
   - Add Kubernetes application(pod) status check when submit process exit. 
Because when deploying in cluster mode on k8s and failures happen inside k8s 
cluster, submit process will exit normally, which will show wrong status of 
task execution.
   
   Support submit Spark task directly on Kubernetes(on native Kubernetes, not 
Spark Operator).
   
   - Modify Spark's resource related configuration to accommodate Spark on K8S 
deploy mode, e.g. change `--driver-cores` to `--conf spark.driver.cores`.
   - Generate master URL based on whether user choose cluster namespace.
                <img width="597" alt="image" 
src="https://user-images.githubusercontent.com/45198818/218303053-171dfe6a-93c2-4f6f-bcd1-78fefe7935d1.png";>
   
   - Add `--conf 
spark.kubernetes.driver.label.dolphinscheduler-label=<processInstanceId>_<taskInstanceId>`
 automatically for killing driver pod.
   - **NOTICE** that Spark doesn't support any configuration to delete driver 
pod (or i don't that configuration), DS should better not automatically delete 
it, because pod's logs might be useful.
   
   ## Verify this pull request
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to