MR,Spark提交任务的方式

MR提交:
1.本地运行模式
(1)mapreduce 程序是被提交给 LocalJobRunner 在本地以单进程的形式运行
(2)而处理的数据及输出结果可以在本地文件系统,也可以在 hdfs 上
(3)怎样实现本地运行?写一个程序,不要带集群的配置文件
本质是程序的 conf 中是否有 mapreduce.framework.name=local 以及
yarn.resourcemanager.hostname 参数
(4)本地模式非常便于进行业务逻辑的 debug,只要在 eclipse 中打断点即可

2.集群运行模式
(1)将 mapreduce 程序提交给 yarn 集群,分发到很多的节点上并发执行
(2)处理的数据和输出结果应该位于 hdfs 文件系统
(3)提交集群的实现步骤:
将程序打成 JAR 包,然后在集群的任意一个节点上用 hadoop 命令启动
hadoop jar wordcount.jar cn.itcast.bigdata.mrsimple.WordCountDriver args

Spark提交:
1.本地运行模式
(1)配置时加[local4]

2.集群运行模式

./bin/spark-submit \
  --class <main-class> \
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other options
  <application-jar> \
  [application-arguments]

参数定义如下:
–class: 应用程序的入口类
–master: 资源管理器master的URL,例如spark standalone资源管理器地址: spark://23.195.26.187:7077, yarn集群地址:yarn, 本地调试模式地址:local
–deploy-mode: 部署模式,如果driver要部署到集群的worker节点,则设置为cluster,如果driver部署在本地开发机,则使用client,默认值为client
–conf: Spark环境相关的一些配置
application-jar: 应用程序的jar包
application-arguments: 入口类的输入参数

实例:
./spark2-submit
–class cn.test.spark.SparkStreamingKafkaDirect
–master yarn
–executor-memory 1g
–total-executor-cores 2
/home/ztx/spark_test_jar/spark_test.jar

猜你喜欢

转载自blog.csdn.net/weixin_43840194/article/details/86583007