学科分类
目录
Spark技术栈

体验第一个Spark程序

Spark集群已经部署完毕,接下来我们使用Spark官方示例SparkPi,体验Spark集群提交任务的流程。首先进入spark目录,执行命令如下。

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop01:7077 \
--executor-memory 1G \
--total-executor-cores 1 \
examples/jars/spark-examples_2.11-2.3.2.jar \
10

​ 上述命令参数表示含义如下:

  • --master spark://hadoop01:7077 :指定Master的地址是hadoop01节点
  • --executor-memory 1G :指定每个executor的可用内存为1G
  • --total-executor-cores 1 :指定每个executor使用的CPU核心数为1个

按回车键提交Spark作业,观察Spark集群管理界面,如图1所示。

img

图1 查看Spark正在执行的应用

在图1中,“Running Applications”列表表示当前Spark集群正在计算的作业,执行几秒后,刷新界面,如图2所示。

img

图2 查看执行完毕的应用

从图2可以看出,在Completed Applications表单下,当前应用执行完毕,返回控制台查看输出信息,如图3所示。

img

图3 Spark计算圆周率

从图3可以看出,Pi值已经被计算完毕,即Pi is roughly 3.140691140691141。

在高可用模式提交任务时,可能涉及多个Master,所以对于应用程序的提交就发生了一些变化,因为应用程序需要知道当前的Master的IP地址和端口,为了解决这个问题,只需要在SparkContext指向一个Master列表,执行提交任务的命令如下。

bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--master spark://hadoop01:7077,hadoop02:7077,hadoop03:7077 \
--executor-memory 1G \
--total-executor-cores 1 \
examples/jars/spark-examples_2.11-2.3.2.jar \
10
点击此处
隐藏目录