原文链接:Spark集群基于Zookeeper的HA搭建部署笔记

1.环境介绍
(1)操作系统RHEL6.2-64
(2)两个节点:spark1(192.168.232.147),spark2(192.168.232.152)
(3)两个节点上都装好了Hadoop 2.2集群
2.安装Zookeeper
(1)下载Zookeeper:http://apache.claz.org/zookeeper ... keeper-3.4.5.tar.gz
(2)解压到/root/install/目录下
(3)创建两个目录,一个是数据目录,一个日志目录

(4)配置:进到conf目录下,把zoo_sample.cfg修改成zoo.cfg(这一步是必须的,否则zookeeper不认识zoo_sample.cfg),并添加如下内容

  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

复制代码

(5)在/root/install/zookeeper-3.4.5/data目录下创建myid文件,并在里面写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

  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
  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是待命状态

(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已经挂掉

(4)再用浏览器访问查看spark2的状态,从下图看出,spark2已经被切换当master了

Spark集群基于Zookeeper的HA搭建部署笔记(转)的更多相关文章

  1. Azure上搭建ActiveMQ集群-基于ZooKeeper配置ActiveMQ高可用性集群

    ActiveMQ从5.9.0版本开始,集群实现方式取消了传统的Master-Slave方式,增加了基于ZooKeeper+LevelDB的实现方式. 本文主要介绍了在Windows环境下配置基于Zoo ...

  2. 部署hadoop2.7.2 集群 基于zookeeper配置HDFS HA+Federation

    转自:http://www.2cto.com/os/201605/510489.html hadoop1的核心组成是两部分,即HDFS和MapReduce.在hadoop2中变为HDFS和Yarn.新 ...

  3. zhihu spark集群,书籍,论文

    spark集群中的节点可以只处理自身独立数据库里的数据,然后汇总吗? 修改 我将spark搭建在两台机器上,其中一台既是master又是slave,另一台是slave,两台机器上均装有独立的mongo ...

  4. 【Spark-core学习之三】 Spark集群搭建 & spark-shell & Master HA

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

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

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

  6. VMWare9下基于Ubuntu12.10搭建Hadoop-1.2.1集群—整合Zookeeper和Hbase

    VMWare9下基于Ubuntu12.10搭建Hadoop-1.2.1集群-整合Zookeeper和Hbase 这篇是接着上一篇hadoop集群搭建进行的.在hadoop-1.2.1基础之上安装zoo ...

  7. spark集群搭建(三台虚拟机)——zookeeper集群搭建(3)

    !!!该系列使用三台虚拟机搭建一个完整的spark集群,集群环境如下: virtualBox5.2.Ubuntu14.04.securecrt7.3.6_x64英文版(连接虚拟机) jdk1.7.0. ...

  8. Spark入门:第2节 Spark集群安装:1 - 3;第3节 Spark HA高可用部署:1 - 2

    三. Spark集群安装 3.1 下载spark安装包 下载地址spark官网:http://spark.apache.org/downloads.html 这里我们使用 spark-2.1.3-bi ...

  9. spark集群搭建整理之解决亿级人群标签问题

    最近在做一个人群标签的项目,也就是根据客户的一些交易行为自动给客户打标签,而这些标签更有利于我们做商品推荐,目前打上标签的数据已达5亿+, 用户量大概1亿+,项目需求就是根据各种组合条件寻找标签和人群 ...

随机推荐

  1. 浅谈BUFF设计

    Buff在游戏中无处不在,比如WOW.DOTA.LOL等等,这些精心设计的BUFF,让我们击节赞叹,沉迷其中. 问:BUFF的本质是什么? BUFF 是对一项或多项数据进行瞬间或持续作用的集合.(持续 ...

  2. “裕同集团&易普优APS项目启动大会”顺利召开

    “裕同集团&易普优APS项目启动大会”顺利召开 ——易普优APS助力裕同集团实现精益生产 2017年7月05日,“裕同集团&易普优APS项目启动大会”顺利召开,裕同集团高级王副总裁.I ...

  3. Java 中静态代码块初始化问题测试

    Java 中静态代码块初始化问题测试 原创 情况一:变量是 static final 修饰的"编译期常量",如 public static final String a = &qu ...

  4. gVim 启动时窗口自动居中

    最近折腾 vim, 除了配置巨麻烦外, 另一个很蛋疼的就是窗口位置问题了, 折腾了半天无法启动时自动居中, 找遍各地也只有保存上次位置, 下次启动时恢复的方法 废话不多说, 直接上代码, 丢到 vim ...

  5. asp.net core集成CAP(分布式事务总线)

    一.前言 感谢杨晓东大佬为社区贡献的CAP开源项目,传送门在此:.NET Core 事件总线,分布式事务解决方案:CAP 以及 如何在你的项目中集成 CAP[手把手视频教程],之前也在工作中遇到分布式 ...

  6. HDU 3790最短路径问题 [最短路最小花费]

    题目链接:[http://acm.hdu.edu.cn/showproblem.php?pid=3790] 最短路径问题 Time Limit: 2000/1000 MS (Java/Others)  ...

  7. [BZOJ4373]算术天才⑨与等差数列(线段树)

    [l,r]中所有数排序后能构成公差为k的等差数列,当且仅当: 1.区间中最大数-最小数=k*(r-l) 2.k能整除区间中任意两个相邻数之差,即k | gcd(a[l+1]-a[l],a[l+2]-a ...

  8. POJ 3553 Light Switching Game 博弈论 nim积 sg函数

    http://poj.org/problem?id=3533 变成三维的nim积..前面hdu那个算二维nim积的题的函数都不用改,多nim积一次就过了...longlong似乎不必要但是还是加上了 ...

  9. bzoj 1098

    对于关系,看其是否是“等价关系”,即满足:自反,传递,对称. 如果是可以用并查集来连接等价类. 这道题是求原图补集的联通快个数,考虑原图度最少的点(由鸽巢原理,最多为2*e/n个). 先将未与其连边的 ...

  10. PHPredis长连接pconnect

    1. 当使用pconnect时,连接会被重用,连接的生命周期是fpm进程的生命周期,而非一次php的执行. 疑惑1: fpm进程的生命周期是指 当前那个还是指所有:    php-fpm通常是1个ma ...