Spark standalone运行模式

时间:2024-04-30 16:50:11

Spark standalone运行模式

Spark Standalone 部署配置

Standalone架构

Spark standalone运行模式

手工启动一个Spark集群

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

通过脚本启动集群

Spark standalone运行模式

Spark standalone运行模式

Spark standalone运行模式

Spark standalone运行模式

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

Spark standalone运行模式

Spark standalone运行模式

配置spark-defaults.conf

Spark standalone运行模式

Spark standalone运行模式

Spark standalone运行模式

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

Spark standalone运行模式

Spark standalone运行模式

Spark standalone运行模式

Spark standalone运行模式

在浏览器打开页面

Spark standalone运行模式

修改 spark-env.sh 文件

Spark standalone运行模式

先停止

Spark standalone运行模式

在重新启动一下

Spark standalone运行模式

再次访问网页

Spark standalone运行模式

下面跑一个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运行模式

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

Spark standalone运行模式

Spark standalone运行模式

可以看到运行完成了。

从页面也可以看出来

Spark standalone运行模式

Spark Standalone HA

Spark standalone运行模式

官方参考地址

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

Spark standalone运行模式

Spark standalone运行模式

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

Spark standalone运行模式

Spark standalone运行模式

默认是这样连接的。

Spark standalone运行模式

Spark standalone运行模式

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

Spark standalone运行模式

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

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

然后重新启动一下

Spark standalone运行模式

可以看到起来了

Spark standalone运行模式

Spark Standalone 运行架构解析

Spark基本工作流程

Spark standalone运行模式

Spark Local模式

Spark standalone运行模式

Spark Local cluster 模式

Spark standalone运行模式

Spark standalone 模式

Spark standalone运行模式

Spark standalone 详细过程解析

Spark standalone运行模式

Spark standalone 模式下运行WordCount

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

Spark standalone运行模式

Spark standalone运行模式

可以看到打包成功!

参考代码

package com.gong.spark

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

object MyWordCount {
def main(args: Array[String]):Unit={
//参数检查
if(args.length<){
System.err.println("Usage:MyWordCount <input> <output>")
System.exit()
} //获取参数
val input=args()
val output=args() //创建SparkContext
val conf=new SparkConf().setAppName("myWordCount")
val sc=new SparkContext(conf)
//读取数据
val lines=sc.textFile(input) //进行相关计算
val resultRdd=lines.flatMap(_.split(" ")).map((_,)).reduceByKey(_+_) //保存结果
resultRdd.saveAsTextFile(output)
sc.stop()
}
}

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

Spark standalone运行模式

Spark standalone运行模式

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

Spark standalone运行模式

下面在集群里跑一下程序

Spark standalone运行模式

./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运行模式

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

在hdfs上查看运行结果

Spark standalone运行模式

Spark standalone运行模式