Spark集群基于Zookeeper的HA搭建部署

转载 2015年11月17日 15:49:57
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.环境介绍 (1)操作系统RHEL6.2-64 (2)两个节点:spark1(192.168.232.147),spark2(192.168.232.152) (3)两个节点上都装好了Hado...
  • wwwxxdddx
  • wwwxxdddx
  • 2015年05月11日 19:31
  • 574

Spark集群基于Zookeeper的HA搭建部署笔记

1.环境介绍 (1)操作系统RHEL6.2-64 (2)两个节点:spark1(192.168.232.147),spark2(192.168.232.152) (3)两个节点上都装好了Hado...
  • panguoyuan
  • panguoyuan
  • 2015年01月26日 15:46
  • 2639

Spark集群搭建+基于zookeeper的高可用HA

1. Spark高可用HA 1.1安装zookeeper 1.1.1下载zookeeper-3.4.6 1.1.2 解压zookeeper 1.1.3 修改ZOOKEEPER_HOME/PAT...
  • lishuan182
  • lishuan182
  • 2016年08月26日 19:58
  • 4930

spark集群与spark HA高可用快速部署 spark研习第一季

1、spark 部署 标签: spark 0 apache spark项目架构 spark SQL -- spark streaming -- MLlib -- GraphX ...
  • refuil
  • refuil
  • 2016年07月22日 09:15
  • 3568

基于zookeeper的hadoop HA实现

非HA集群的弊端 HDFS集群的分布式存储是靠namenode节点(namenode负责响应客户端请求)来实现。在非HA集群中一旦namenode宕机,虽然元数据不会丢失,但整个集群将无法对外提...
  • everl_1
  • everl_1
  • 2016年08月24日 18:28
  • 5416

基于docker搭建跨主机的spark集群并配置notebook(一)

一、制作docker镜像 知识水平尚有欠缺,对于dockerfile那一套理论也不熟悉,所以采取的制作一个docker镜像作为启动集群的载体: (一)在宿主机安装docker: 不同的系统安装doc...
  • iluoi
  • iluoi
  • 2017年03月06日 14:05
  • 483

Spark技术内幕:Master基于ZooKeeper的High Availability(HA)源码实现

本文详细讲解了Spark在Standalone模式下的Master的HA的源码分析。 为了解决Standalone模式下的Master的SPOF,Spark采用了ZooKeeper提供的选举功能。Sp...
  • anzhsoft2008
  • anzhsoft2008
  • 2014年06月24日 20:25
  • 29036

hadoop3.0高可用HA配置详解

hadoop3.0高可用HA配置详解
  • lxb1022
  • lxb1022
  • 2017年10月31日 15:00
  • 445

基于zookeeper的高可用Hadoop HA集群安装

(1)hadoop2.7.1源码编译 http://aperise.iteye.com/blog/2246856 (2)hadoop2.7.1安装准备 http://aperise.itey...
  • zilong_zilong
  • zilong_zilong
  • 2016年06月18日 00:50
  • 2858

spark standalone zookeeper HA部署方式

虽然spark master挂掉的几率很低,不过还是被我遇到了一次。以前在spark standalone的文章中也介绍过standalone的ha,现在详细说下部署流程,其实也比较简单。机器zook...
  • lsshlsw
  • lsshlsw
  • 2015年08月17日 16:00
  • 1465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Spark集群基于Zookeeper的HA搭建部署
举报原因:
原因补充:

(最多只允许输入30个字)