开发者学堂课程【大数据实时计算框架 Spark 快速入门:Standalone+ZooKeeper 高可用部署_3】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/100/detail/1657
Standalone+ZooKeeper 高可用部署_3
内容简介:
1. standalone 集群模式之 client 模式
2. standalone 集群模式之 cluster 模式
3. High Availability
一、standalone 集群模式:
需要的配置项
1)slaves 文件
node22
node23
node24
2)spark-env.sh
export JAVA_HOME=/usr/soft/ jdk1.7.0_71
export SPARK_MASTER_IP=spark001
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_WORKER_MEMORY=1g
./sbin/start-all.sh
--master 等价于 setMaster
点进 Application ID 可以看到如下图内容:
点进 Application Detall UI,看到以下内容:
一个 Application 可以根据 active 算子操作被切分为多个 job。Scheduling Mode调度模式,这里默认的是先进先出模式。
对于日志:
Pi is roughly 3.141582368
16/11/29 15:42:36 INFO SparkUI :stopped spark web UI at http://192.168. 80.21:4040
结果打印出来之后,即 application 运行完了以后就会把4040关闭。
1.standalone 集群模式之 client 模式
结果 xshell 可见:
./bin/ spark- submit --class org . apache . spark . examples . sparkPi - -master spark://spark001: 7077 -- executor -memory 1G --total -executor-cores 1 ./lib/spark-examples-1.6.0-hadoop2.4.0.jar 100
2.standalone 集群模式之 cluster 模式
结果 spark001:8080里面可见!
./bin/ spark- submit --class org . apache .spark . examples . sparkPi --master spark://spark001: 7077 --deploy-mode cluster --supervise --executor-memory 1G --total -executor-cores
1 ./lib/spark-examples-1.6.0-hadoop2.4.0.jar 100
提交应用程序,如下:
发现结果没有打印出来,也没有日志。那么看一下8080页面:
发现有一个 Running Drivers 驱动程序正在执行,刷新一下页面如下:
发现 Application 来了,即用 Cluster 模式执行的时候,会有 Application 和 Running Drivers。当用 Cluster 集群模式提交应用程序,会把 Drivers 驱动程序放到集群里面 worker 的某个节点去执行。
一个 Application 会对应一个 Driver:
Client 模式,这里 Client 指的是提交程序的客户端,和 Driver 在同一个节点。
如果是 Cluster 模式,相当于 Driver 扔到 worker 里面去执行。至于为什么 Cluster 模式里面在客户端看不到结果,如上图,因为 worker 节点会把执行的结果返回给 Driver ,即 Cluster 模式的结果在 Driver 里面,而 Driver 在 Worker 中的某个节点里面。
再刷新一下,看 Application 是否跑完程序,结果如下:
发现 Application 执行完了,Driver 也就停掉了。
点击 Completed Drivers 下面的 Worker,结果如下:
再点击 Finished Drivers 下的 Stdout,在这里会打印出结果,
而日志被放在了 stderr 里面。
3.High Availability
1)Standby Masters with ZooKeeper (热备)
2)Single-Node Recovery with Local File System (冷备)
热备,就是 Master 挂了,另外一个会自动来接管。
冷备,就是 Master 如果挂了,需要手动把另一个启动,让它去读 Local File System 里面的信息。
点到 Standby Masters with ZooKeeper 里面: