2.2 Spark集群初试

假设已经按照上述步骤配置完成Spark集群,可以通过两种方式运行Spark中的样例。下面以Spark项目中的SparkPi为例,可以用以下方式执行样例。

1)以./run-example的方式执行

用户可以按照下面的命令执行Spark样例。


  1. ./bin/run-example org.apache.spark.examples.SparkPi

2)以./Spark Shell的方式执行

Spark自带交互式的Shell程序,方便用户进行交互式编程。下面进入Spark Shell的交互式界面。


  1. ./bin/spark-shell

用户可以将下面的例子复制进Spark Shell中执行。


  1. importscala.math.random
  2. importorg.apache.spark._
  3. objectSparkPi {
  4. def mainargs Array[String]) {
  5. val slices = 2
  6. val n = 100000 * slices
  7. val count = sc.parallelize1 to n slices).map { i =>
  8. val x = random * 2 - 1
  9. val y = random * 2 - 1
  10. if x*x + y*y < 1 1 else 0
  11. }.reduce_ + _
  12. println"Pi is roughly " + 4.0 * count / n
  13. }
  14. }

按回车键执行上述命令。

注意,Spark Shell中已经默认将SparkContext类初始化为对象sc。用户代码如果需要用到,则直接应用sc即可,否则用户自己再初始化,就会出现端口占用问题,相当于启动两个上下文。

3)通过Web UI查看集群状态

浏览器输入http://masterIP:8080,也可以观察到集群的整个状态是否正常,如图2-5所示。集群会显示与图2-5类似的画面。masterIP配置为用户的Spark集群的主节点IP。

2.2 Spark集群初试 - 图1

图2-5 Spark Web UI