欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spark-Standalone两种提交方式(client、cluster)

程序员文章站 2024-02-21 18:50:58
...

一、概况

  • spark-submit(提交任务命令)
  • --deploy-mode(提交任务模式)
  • --class(执行文件的包名+类名)
  • ../lib/spark-examples-1.6.0-hadoop2.6.0.jar(打包好的执行文件)

二、client模式(--deploy-mode client)

./spark-submit --master spark://172.16.233.137:7077 --deploy-mode client --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.0-hadoop2.6.0.jar 100
  •  100是spark-examples-1.6.0-hadoop2.6.0.jar包org.apache.spark.examples.SparkPi类中main方法的参数。

    Spark-Standalone两种提交方式(client、cluster)

  • Standalone-client模式提交任务,会在客户端看到task的执行情况和结果,当在客户端提交多个application时,每个application都会启动自己的Driver,Driver与集群Worker有大量的通信,会造成客户端网卡流量激增问题。这种模式适用于程序测试。不适用于生产环境。

三、cluster模式(--deploy-mode cluster)

./spark-submit --master spark://172.16.233.137:7077 --deploy-mode cluster --class org.apache.spark.examples.SparkPi /data/local/spark-1.6.0-bin-hadoop2.6/lib/spark-examples-1.6.0-hadoop2.6.0.jar 100

    Spark-Standalone两种提交方式(client、cluster) 

  • 100是spark-examples-1.6.0-hadoop2.6.0.jar包org.apache.spark.examples.SparkPi类中main方法的参数。 
  • Standalone-cluster模式提交任务,Driver会在急群众随机一台Worker上启动,如果提交多个application时,那么每个application的Driver会分散到集群的Worker节点,相当于将client模式的客户端网卡流量激增问题分散到集群中。这种模式适用于生产环境。
  • 注意:因为cluster模式,随机分散在Worker节点上创建Driver,由Driver来发送任务到Worker。所以打包的程序任务必须在分散的Worker节点对应的目录下都存在如:172.16.233.137、172.16.233.138节点上必须有执行文件:/data/local/spark-1.6.0-bin-hadoop2.6/lib/spark-examples-1.6.0-hadoop2.6.0.jar