spark学习记录(三、spark集群搭建)

一、安装spark

1.上传压缩包并解压

2.在conf目录下配置slaves

cp slaves.template slaves
//在master机上配置worker节点
hadoop2
hadoop3

3.配置spark-env.sh

cp spark-env.sh.template spark-env.sh
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_PORT=7077
//每台worker使用的cpu核数
export SPARK_WORKER_CORES=2
//每台worker的使用内存
export SPARK_WORKER_MEMORY=1g
//webUI页面端口号
export SPARK_MASTER_WEBUI_PORT=8888

4.将spark文件复制到其他机子上

scp -r spark-2.4.0-bin-hadoop2.7/ hadoop2:/usr/local/

5.验证

在sbin目录下

二、运行案例 

spark官方提供了一个案例,求π的值

object SparkPI {

  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("Spark Pi").setMaster("local[2]")
    val spark = new SparkContext(conf);

    val slices = 100;
    val n = 1000 * slices  //选n个点
    val count = spark.parallelize(1 to n,slices).map({ i =>
      def random: Double = java.lang.Math.random()
      //这里取圆心为坐标轴原点,在正方向中不断的随机选点
      val x = random * 2 - 1
      val y = random * 2 - 1
      println(x+"--"+y)
      //通过在圆内的点
      if (x*x + y*y < 1) 1 else 0

    }).reduce(_ + _)

    //pi=S2=S1*count/n
    println("Pi is roughly " + 4.0 * count / n)

    spark.stop()
  }
}

在bin目录下执行

./spark-submit --master spark://hadoop1:7077 --class org.apache.spark.examples.SparkPi /usr/local/spark-2.4.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.4.0.jar

猜你喜欢

转载自blog.csdn.net/qq_33283652/article/details/85335433