spark-submit 提交yarn-client yarn-cluster两种模式的差别

本文详细解析了Spark在YARN集群上的两种提交方式:yarn-client与yarn-cluster。前者适合测试环境,便于调试但可能引起网络流量激增;后者适用于生产环境,虽然调试不便,但能有效避免网络瓶颈。同时,文章提供了具体的Spark作业提交示例。

spark-submit提交给yarn的两种方式总结与区分:

spark-submit提交给yarn有两种方式, 1为yarn-cluster, 2为yarn-client

两种方式的区别

yarn-client主要是用于测试,因为driver运行在本地客户端,负责调度application,会与yarn集群产生大量的网络通信,会导致网卡流量激增!!好处在于直接执行时,本地可以看到所有的log,方便调试

yarn-cluster用户生产环境,以为driver运行在nodemanager,没有网卡流量激增的问题。缺点在于调试不方便,本地用spark-submit提交后,看不到log,只能通过yarn application -logs application_id这种命令来查看,比较麻烦  或者  yarn logs -applicationId application_id

spark作业提交示例:

以下三个示例都可提交上集群 。有一个问题待解决。新增一个节点提交时候总是报jar包找不到,问题挂起,见另一篇文章

spark-submit --class "com.hadoop.init.P_app" --master yarn-cluster --num-executors 2 --executor-cores 1 --executor-memory 6G   app.jar 4

spark-submit --class "com.hadoop.init.P_app" --master yarn-cluster --num-executors 2 --executor-cores 1 --executor-memory 6G --driver-class-path spark_json_lib/druid-1.0.13.jar --driver-class-path spark_json_lib/druid-1.0.23.jar --driver-class-path spark_json_lib/gson-2.7.jar --driver-class-path spark_json_lib/mysql-connector-java-5.1.33.jar  app.jar 4

spark-submit --class "com.hadoop.init.P_app" --master yarn-cluster --num-executors 2 --executor-cores 1 --executor-memory 6G --driver-class-path spark_json_lib/druid-1.0.13.jar  --jars spark_json_lib/druid-1.0.13.jar,spark_json_lib/druid-1.0.23.jar,spark_json_lib/gson-2.7.jar,spark_json_lib/mysql-connector-java-5.1.33.jar app.jar 4

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值