Mapreduce作业提交与Spark作业提交

时间:2017-09-19 03:08:08

标签: hadoop apache-spark

我正在浏览各种文档,以了解sparkred作业提交与mapreduce作业提交的不同之处,是否有一个图表说明了像hadoop权威指南中提到的mapreduce作业提交?

而且,spark应用程序也将像在mapreduce中一样从边缘节点提交(没有严格的规则,但我猜这是遵循的做法)

1 个答案:

答案 0 :(得分:1)

MapReduce提交:

您可以将MapReduce v1作业和YARN应用程序(MapReduce v2和在YARN上运行的其他应用程序)提交到同一个集群。可以通过以下方式将作业或应用程序提交到群集:

  • hadoop jar命令提交MapReduce v1作业或MapReduce v2 应用
  • yarn jar命令提交一个应用程序。
  • 外部应用程序提交MapReduce v1作业或应用程序。
  • 生态系统组件生成并提交申请或提交 MapReduce v1 job。
  • hadoop job命令提交MapReduce v1作业或MapReduce v2 应用
  • mapred作业命令提交MapReduce v2应用程序。

示例MapReduce提交:

./yarn jar $YARN_EXAMPLES/hadoop-mapreduce-examples-2.2.0.jar

提交Spark应用程序

捆绑用户应用程序后,可以使用bin / spark-submit脚本启动它。此脚本负责使用Spark及其依赖项设置类路径,并且可以支持Spark支持的不同集群管理器和部署模式

  • 在8核上本地运行应用程序
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master local[8] \
  /path/to/examples.jar \
  100
  • 以客户端部署模式在Spark独立群集上运行
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://207.184.161.138:7077 \
  --executor-memory 20G \
  --total-executor-cores 100 \
  /path/to/examples.jar \
  1000
  • 使用群集部署模式在Spark独立群集上运行 监督
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master spark://207.184.161.138:7077 \
  --deploy-mode cluster \
  --supervise \
  --executor-memory 20G \
  --total-executor-cores 100 \
  /path/to/examples.jar \
  1000
  • 在YARN群集上运行
export HADOOP_CONF_DIR=XXX
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master yarn \
  --deploy-mode cluster \  # can be client for client mode
  --executor-memory 20G \
  --num-executors 50 \
  /path/to/examples.jar \
  1000
  • 在Spark独立群集上运行Python应用程序
./bin/spark-submit \
  --master spark://207.184.161.138:7077 \
  examples/src/main/python/pi.py \
  1000
  • 在群集部署模式下使用监督
  • 在Mesos群集上运行
./bin/spark-submit \
  --class org.apache.spark.examples.SparkPi \
  --master mesos://207.184.161.138:7077 \
  --deploy-mode cluster \
  --supervise \
  --executor-memory 20G \
  --total-executor-cores 100 \
  http://path/to/examples.jar \
  1000