1.环境介绍
(1)操作系统ubuntu16.4.0
(2)两个节点:spark1(192.168.232.147),spark2(192.168.232.152) (生产环境下一般配置3台)
(3)两个节点上都装好了Hadoop 2.2集群
2.安装Zookeeper3.4.5
(1)下载Zookeeper:http://apache.fayea.com/zookeeper
(2)解压到/root/install/目录下
(3)创建两个目录,一个是数据目录,一个日志目录

QQ截图20140726110322.png (16.42 KB)

下载附件  保存到相册

2014-7-26 11:05 上传


(4)配置:进到conf目录下,把zoo_sample.cfg修改成zoo.cfg(这一步是必须的,否则zookeeper不认识zoo_sample.cfg),并添加如下内容(各端口的意义可goole参看)
  1. dataDir=/root/install/zookeeper-3.4.5/data
  2. dataLogDir=/root/install/zookeeper-3.4.5/logs
  3. server.1=spark1:2888:3888
  4. server.2=spark2:2888:3888
注:zoo_sample.cfg中自带默认的dataDir,需屏蔽掉;
(5)在/root/install/zookeeper-3.4.5/data目录下创建myid文件,并在里面写1(1与server.1对应)
  1. cd /root/install/zookeeper-3.4.5/data
  2. echo 1>myid
(6)把/root/install/zookeeper-3.4.5整个目录复制到其他节点
  1. scp -r /root/install/zookeeper-3.4.5 root@spark2:/root/install/
(7)登录到spark2节点,修改myid文件里的值,将其修改为2(2与server.2对应)
  1. cd /root/install/zookeeper-3.4.5/data
  2. echo 2>myid
(8)在spark1,spark2两个节点上分别启动zookeeper
  1. cd /root/install/zookeeper-3.4.5
  2. bin/zkServer.sh start
(9)查看进程进否成在
  1. [root@spark2 zookeeper-3.4.5]# bin/zkServer.sh start
  2. JMX enabled by default
  3. Using config: /root/install/zookeeper-3.4.5/bin/../conf/zoo.cfg
  4. Starting zookeeper ... STARTED
  5. [root@spark2 zookeeper-3.4.5]# jps
  6. 2490 Jps
  7. 2479 QuorumPeerMain
3.配置Spark的HA
(1)进到spark的配置目录,在spark-env.sh修改如下
  1. export SPARK_DAEMON_Java_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=spark1:2181,spark2:2181 -Dspark.deploy.zookeeper.dir=/spark"
  2. export JAVA_HOME=/root/install/jdk1.7.0_21
  3. #export SPARK_MASTER_IP=spark1 #配置zk后此处不再需要配置
  4. #export SPARK_MASTER_PORT=7077
  5. export SPARK_WORKER_CORES=1
  6. export SPARK_WORKER_INSTANCES=1
  7. export SPARK_WORKER_MEMORY=1g
(2)把这个配置文件分发到各个节点上去
  1. scp spark-env.sh root@spark2:/root/install/spark-1.0/conf/
(3)启动spark集群
  1. [root@spark1 spark-1.0]# sbin/start-all.sh
  2. starting org.apache.spark.deploy.master.Master, logging to /root/install/spark-1.0/sbin/../logs/spark-root-org.apache.spark.deploy.master.Master-1-spark1.out
  3. spark1: starting org.apache.spark.deploy.worker.Worker, logging to /root/install/spark-1.0/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-spark1.out
  4. spark2: starting org.apache.spark.deploy.worker.Worker, logging to /root/install/spark-1.0/sbin/../logs/spark-root-org.apache.spark.deploy.worker.Worker-1-spark2.out
(4)进到spark2(192.168.232.152)节点,把start-master.sh 启动,当spark1(192.168.232.147)挂掉时,spark2顶替当master
  1. [root@spark2 spark-1.0]# sbin/start-master.sh
  2. starting org.apache.spark.deploy.master.Master, logging to /root/install/spark-1.0/sbin/../logs/spark-root-org.apache.spark.deploy.master.Master-1-spark2.out
(5)查看spark1和spark2上运行的哪些进程
  1. [root@spark1 spark-1.0]# jps
  2. 5797 Worker
  3. 5676 Master
  4. 6287 Jps
  5. 2602 QuorumPeerMain
  6. [root@spark2 spark-1.0]# jps
  7. 2479 QuorumPeerMain
  8. 5750 Jps
  9. 5534 Worker
  10. 5635 Master
4.测试HA是否生效
(1)先查看一下两个节点的运行情况,现在spark1运行了master,spark2是待命状态

QQ截图20140726145034.png (84.3 KB)

下载附件  保存到相册

2014-7-26 14:52 上传

QQ截图20140726144738.png (76.19 KB)

下载附件  保存到相册

2014-7-26 14:52 上传


(2)在spark1上把master服务停掉
  1. [root@spark1 spark-1.0]# sbin/stop-master.sh
  2. stopping org.apache.spark.deploy.master.Master
  3. [root@spark1 spark-1.0]# jps
  4. 5797 Worker
  5. 6373 Jps
  6. 2602 QuorumPeerMain
(3)用浏览器访问master的8080端口,看是否还活着。以下可以看出,master已经挂掉

QQ截图20140726144115.png (55.24 KB)

下载附件  保存到相册

2014-7-26 14:43 上传


(4)再用浏览器访问查看spark2的状态,从下图看出,spark2已经被切换当master了
总结:zk在切换Master的过程中,不用提交spark任务,但此过程中Worker正常工作。这是因为sprak是粗粒度,作业提交时已经分配好资源。

QQ截图20140726145314.png (89.76 KB)

下载附件  保存到相册

2014-7-26 14:55 上传

Spark集群中HA环境搭建相关推荐

  1. 关于在Spark集群中读取本地文件抛出找不到文件异常的问题

    关于在Spark集群中读取本地文件抛出找不到文件异常的问题 一般情况下,我们在本地ide里写好程序,打成jar包上传到集群取运行,有时候需要读取数据文件,这个时候需要注意,如果程序中读取的是本地文件, ...

  2. 大数据原生集群本地测试环境搭建三

    本篇安装软件 Hive1.2 hue-3.9.0-cdh5.14.0 Zookeeper3.4 Kafka2.11-0.10 redis3.0.0 elasticsearch-6.6.2 elasti ...

  3. 大数据原生集群本地测试环境搭建六

    本篇软件版本 Kylin2.5.1!!!!强烈建议不要和我一样原因下面解释 Datax MongDB_linux-x86_64-4.0.10 clickhouse20.8.3.18-1 集群最后完善 ...

  4. 大数据原生集群本地测试环境搭建一

    前言 写这个微博的目的主要是有两点,一是这是我自己在用的测试环境,虽然也有自己总结文档,但是还是在网上保留一份,以防那天文档丢失,其次另一个原因也是想和大家分享一下我自己的测试环境搭建方式,如果大家有 ...

  5. Hadoop-cluster 集群完全分布式环境搭建

    2019独角兽企业重金招聘Python工程师标准>>> 安装准备 1) 3台centOS7.0系统 ecs 2) 2.8.0 hadoop 安装包 准备工作 首先 在ip_01主机上 ...

  6. 如何基于Jupyter notebook搭建Spark集群开发环境

    摘要:本文介绍如何基于Jupyter notebook搭建Spark集群开发环境. 本文分享自华为云社区<基于Jupyter Notebook 搭建Spark集群开发环境>,作者:apr鹏 ...

  7. Spark-----Spark 与 Hadoop 对比,Spark 集群搭建与示例运行,RDD算子简单入门

    目录 一.Spark 概述 1.1. Spark是什么 1.2. Spark的特点(优点) 1.3. Spark组件 1.4. Spark和Hadoop的异同 二.Spark 集群搭建 2.1. Sp ...

  8. Spark集群安装介绍

    (1)初学者对于spark的几个疑问 http://aperise.iteye.com/blog/2302481 (2)spark开发环境搭建 http://aperise.iteye.com/blo ...

  9. Spark集群启动时worker节点启不起来

    在spark集群中使用命令: sbin/start-all.sh 启动集群时报错: starting org.apache.spark.deploy.master.Master, logging to ...

最新文章

  1. WPF:下拉列表的简单实现
  2. 20165315 第八周考试课下补做
  3. vbs复制自己到tmp目录
  4. poweramp最完美设置_2020年感恩节,你最想感谢的人是谁?
  5. MySQL配置文件优化
  6. Android学习–Android app 语言切换功能
  7. 开机先看广告!智能电视这流氓操作被整治,这家厂商败诉
  8. logback 配置详解(一)configuration and logger
  9. HDU 5938 2016CCPC杭州 F: Four Operations
  10. JDK11无法启动VisualVM
  11. 3.配置阿里云镜像加速
  12. 自考本科计算机要学什么,计算机自考本科需要考哪些科目
  13. 2023云南大学计算机考研信息汇总
  14. gmx_MMPBSA--计算蛋白-配体自由能及能量分解
  15. thinkphp5 自定义分页样式
  16. 个人java学习路线-Spring
  17. jh mjhmhjmh
  18. 如何在云栖社区显示一个QAP DEMO
  19. Unity-odin-npbehave结合烟雨大佬的示例
  20. 【WinHex篇】WinHex制作磁盘镜像教程

热门文章

  1. 摄像机sensor介绍
  2. 不定期读一篇Paper之SENet
  3. 纸上谈兵: 图 (graph)
  4. 浅谈入职两个半月心得和感受
  5. 使用JSSDK实现网站的QQ登录
  6. 什么模式下不可使用曝光补偿_曝光的正确顺序是什么 曝光正确顺序介绍
  7. unity 烘焙参数 设置_Unity5.×烘焙常规处理心得
  8. 移动应用数据统计分析平台Flurry,Google Analytics
  9. 最好的卡尔曼滤波讲解
  10. 类HD630的集显玩CS:GO之类的FPS游戏