0
点赞
收藏
分享

微信扫一扫

Spark standalone运行模式

Spark standalone运行模式_apache

 

 

                                       Spark Standalone 部署配置

 

Standalone架构

Spark standalone运行模式_apache_02

 

手工启动一个Spark集群

 

​​https://spark.apache.org/docs/latest/spark-standalone.html​​

 

 

通过脚本启动集群

Spark standalone运行模式_zookeeper_03

Spark standalone运行模式_apache_04

 

Spark standalone运行模式_apache_05

 Spark standalone运行模式_spark_06

 

 

 

编辑slaves,其实把worker所在节点添加进去

Spark standalone运行模式_zookeeper_07

Spark standalone运行模式_zookeeper_08

 

 

 

 配置spark-defaults.conf

Spark standalone运行模式_zookeeper_09

 

Spark standalone运行模式_zookeeper_10

 Spark standalone运行模式_spark_11

 

启动集群(我这里是三节点集群)

Spark standalone运行模式_apache_12

Spark standalone运行模式_zookeeper_13

Spark standalone运行模式_spark_14

Spark standalone运行模式_zookeeper_15

 

在浏览器打开页面

Spark standalone运行模式_spark_16

 

修改 spark-env.sh 文件

Spark standalone运行模式_apache_17

 

先停止

Spark standalone运行模式_zookeeper_18

在重新启动一下

Spark standalone运行模式_zookeeper_19

 

再次访问网页

Spark standalone运行模式_spark_20

 

 

下面跑一个Job实例

./spark-submit --master spark://sparking:7077  --class org.apache.spark.examples.SparkPi ../lib/spark-examples-1.6.1-hadoop2.6.0.jar 

Spark standalone运行模式_zookeeper_21

 

 

 

从过程反馈信息可以看出来计算Pi的值

 Spark standalone运行模式_apache_22

Spark standalone运行模式_zookeeper_23

可以看到运行完成了。

从页面也可以看出来

Spark standalone运行模式_spark_24

 

 

                                                                   

                               Spark Standalone HA

Spark standalone运行模式_spark_25

 

官方参考地址

​​https://spark.apache.org/docs/latest/spark-standalone.html#high-availability​​

Spark standalone运行模式_apache_26

 

 Spark standalone运行模式_spark_27

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=node1:2181,node2:2181 -Dspark.deploy.zookeeper.dir=/my-spark"

 

 

Spark standalone运行模式_zookeeper_28

Spark standalone运行模式_apache_29

默认是这样连接的。

 

Spark standalone运行模式_apache_30

Spark standalone运行模式_apache_31

 

 因为刚才修改了文件,现在把修改好的文件分发到另外两个节点去

Spark standalone运行模式_spark_32

scp -r spark-env.sh  spark@node1:/home/spark/app/spark-1.6.1-bin-hadoop2.6/conf/

scp -r spark-env.sh spark@node2:/home/spark/app/spark-1.6.1-bin-hadoop2.6/conf/

 

然后重新启动一下 

Spark standalone运行模式_apache_33

 

可以看到起来了

Spark standalone运行模式_spark_34

 

 

                            Spark Standalone 运行架构解析

 

Spark基本工作流程

Spark standalone运行模式_zookeeper_35

 

 

 Spark Local模式

Spark standalone运行模式_apache_36

 

  Spark Local cluster 模式

Spark standalone运行模式_zookeeper_37

 

 Spark standalone 模式

 Spark standalone运行模式_apache_38

Spark standalone 详细过程解析

Spark standalone运行模式_apache_39

 

 

                         Spark standalone 模式下运行WordCount

 在IDEA里把写好的wordcount程序打包(我这里用的是scala版本写的)

Spark standalone运行模式_zookeeper_40

Spark standalone运行模式_spark_41

可以看到打包成功!

参考代码

package com.gong.spark

import org.apache.spark.{SparkConf, SparkContext}

object MyWordCount {
def main(args: Array[String]):Unit={
//参数检查
if(args.length<2){
System.err.println("Usage:MyWordCount <input> <output>")
System.exit(1)
}

//获取参数
val input=args(0)
val output=args(1)

//创建SparkContext
val conf=new SparkConf().setAppName("myWordCount")
val sc=new SparkContext(conf)
//读取数据
val lines=sc.textFile(input)

//进行相关计算
val resultRdd=lines.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)

//保存结果
resultRdd.saveAsTextFile(output)
sc.stop()
}
}

 

 

把包上传到集群上(用rz命令就可以了)

Spark standalone运行模式_zookeeper_42

 

Spark standalone运行模式_apache_43

 

 在这之前我已经在我的hdfs上上次了work.txt文件

Spark standalone运行模式_apache_44

 

 

下面在集群里跑一下程序

Spark standalone运行模式_zookeeper_45

./spark-submit --master spark://sparking:7077 --class com.gong.spark.MyWordCount /home/spark/testspark/learning-spark-1.0-SNAPSHOT.jar  /home/spark/testspark/work.txt  /home/spark/testspark/result5

Spark standalone运行模式_apache_46

可以看到运行完成了(在这里我说下运行这个程序需要网络良好才可以,因为我的实验室的网络非常差,所以我试了好多次)!!!!!

 在hdfs上查看运行结果

Spark standalone运行模式_zookeeper_47

Spark standalone运行模式_apache_48

 

举报

相关推荐

0 条评论