Spark集群高可用HA配置
本文中的Spark集群包含三个节点,分别是Master,Worker1,Worker2。
1、在Master机器上安装Zookeeper,本文安装在/usr/etc目录下
2、在Master机器配置Zookeeper
2.1、cp /usr/etc/zookeeper-3.4.10/conf/zoo_sample.cfg /usr/etc/zookeeper-3.4.10/conf/zoo.cfg
2.2、在安装目录下创建data,logs目录:mkdir data;mkdir logs;
2.3、vi /usr/etc/zookeeper-3.4.10/conf/zoo.cfg,增加内容如下:
- dataDir=/usr/etc/zookeeper-3.4./data
- dataLogDir=/usr/etc/zookeeper-3.4./logs
- server.=Master::
- server.=Worker1::
- server.=Worker2::
2.4、在创建的data目录下创建myid文件,并修改内容为0(对应配置中的server.0)
3、拷贝安装文件到Worker1,Worker2机器
- scp -r /usr/etc/zookeeper-3.4. root@Worker1:/usr/etc/zookeeper-3.4.
- scp -r /usr/etc/zookeeper-3.4. root@Worker2:/usr/etc/zookeeper-3.4.
3.1、修改data目录下的myid文件,Worker1上的内容为1,Worker2上的内容为2。
4、在Master、Worker1、Worker2上配置系统环境变量:
- vi /etc/profile
- 增加Zookeeper内容:
- exprot ZOOKEEPER_HOME=/usr/etc/zookeeper-3.4.
- PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$HIVE_HOME/bin:$SCALA_HOME/bin:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$PATH
5、在Master、Worker1、Worker2上运行Zookeeper
./bin/zkServer.sh start
运行./bin/zkServer.sh status查看运行状态,如有问题可通过安装目录下的zookeeper.out日志文件排查。
成功后,运行jps,可看到QuorumPeerMain进程
6、配置Spark
vi /usr/etc/spark-2.3.0-bin-hadoop2.7/conf/spark-evn.sh
修改内容如下:
#export SPARK_MASTER_IP=Master #注释掉该行,Spark自己管理集群的状态
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=Master:2181,Worker1:2181,Worker2:2181 -Dspark.deploy.zookeeper.dir=/spark" #通过Zookeeper管理集群状态
7、测试Spark集群工作状态
7.1、启动集群
在Master启动hdfs:start-dfs.sh
在Master启动spark:/usr/etc/spark-2.3.0-bin-hadoop2.7/sbin/start-all.sh
在Worker1,Worker2分别启动spark-master:/usr/etc/spark-2.3.0-bin-hadoop2.7/sbin/start-master.sh
在Master通过浏览器访问Master:8080,Worker1:8080,Worker2:8080,Spark Master的运行状态在Master上是 ALIVE,在Worker1,Worker2上是STANDBY
7.2、测试Master节点出故障的情况
7.2.1、在任意节点上运行spark-shell:/usr/etc/spark-2.3.0-bin-hadoop2.7/bin/spark-shell --master spark://Master:7077,Worker1:7077,Worker2:7077
7.2.2、在Master上运行/usr/etc/spark-2.3.0-bin-hadoop2.7/sbin/stop-master.sh停止Master服务,发现spark-shell控制台输出以下内容:Connection to Master:7077 failed; waiting for master to reconnect...,过一会通过浏览器访问Worker1:8080,发现此时Worker1机器上Spark Master的状态已经变成了ALIVE。
Spark集群高可用HA配置的更多相关文章
- Eureka 集群高可用配置.
SERVER:1 server: port: 1111 eureka: instance: hostname: ${spring.cloud.client.ip-address} instance-i ...
- CentOS7安装CDH 第七章:CDH集群Hadoop的HA配置
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- Rabbitmq集群高可用测试
Rabbitmq集群高可用 RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言,但其本身并不支持负载均衡. Rabbit模式大概分为以下三种:单一模式.普通模 ...
- bitmq集群高可用测试
Rabbitmq集群高可用 RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言,但其本身并不支持负载均衡. Rabbit模式大概分为以下三种:单一模式.普通模 ...
- hadoop+zookeeper集群高可用搭建
hadoop+zookeeper集群高可用搭建 Senerity 发布于 2 ...
- RabbitMQ从零到集群高可用(.NetCore5.0) -高可用集群构建落地
系列文章: RabbitMQ从零到集群高可用(.NetCore5.0) - RabbitMQ简介和六种工作模式详解 RabbitMQ从零到集群高可用(.NetCore5.0) - 死信队列,延时队列 ...
- openstack pike 集群高可用 安装 部署 目录汇总
# openstack pike 集群高可用 安装部署#安装环境 centos 7 史上最详细的openstack pike版 部署文档欢迎经验分享,欢迎笔记分享欢迎留言,或加QQ群663105353 ...
- 浅谈MySQL集群高可用架构
前言 高可用架构对于互联网服务基本是标配,无论是应用服务还是数据库服务都需要做到高可用.对于一个系统而言,可能包含很多模块,比如前端应用,缓存,数据库,搜索,消息队列等,每个模块都需要做到高可用,才能 ...
- 集群高可用之lvs+keepalive
集群高可用之lvs+keepalive keepalive简介: 负载均衡架构依赖于知名的IPVS内核模块,keepalive由一组检查器根据服务器的健康情况动态维护和管理服务器池.keepalive ...
随机推荐
- C语言编程规范—命名规则
C是一门朴素的语言,你使用的命名也应该这样.与Modula-2和Pascal程序员不同,C程序员不使用诸如“ThisVariableIsATemporaryCounter”这样“聪明”的名字.C程序员 ...
- 【Python】Linux Acanoda PySpark Spark
1.安装 Acanoda 2.安装 Spark和Scala 3.安装 PySpark 4.将Spark的Python目录拷贝至 Acanoda目录下 5.安装py4j,切换anaconda中bin目 ...
- 【代码审计】CLTPHP_v5.5.3 前台任意文件上传漏洞
0x00 环境准备 CLTPHP官网:http://www.cltphp.com 网站源码版本:CLTPHP内容管理系统5.5.3版本 程序源码下载:https://gitee.com/chichu/ ...
- Linux应急响应(二):捕捉短连接
0x00 前言 短连接(short connnection)是相对于长连接而言的概念,指的是在数据传送过程中,只在需要发送数据时,才去建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一 ...
- Ansible 管理任务计划
ansible 使用 cron 模块来管理任务计划: [root@localhost ~]$ ansible 192.168.119.134 -m cron -a "name='test c ...
- PHP 二叉树 二叉排序树实现
<?php /** * PHP 二叉树 * @author : xiaojiang 2014-01-01 * */ class Tree { protected $k = null; prote ...
- WebService连接sql serever并使用Android端访问数据
一.下载sql serever(真真难下) 建立数据库 二.创建WebService VS2015中新建项目,进行连接调试 1. 服务资源管理文件->数据连接->新建连接 2. 继续-&g ...
- 【宝塔】 安装扩展Memcached redis 教程
宝塔官网: www.bt.cn 开始安装 1 进入ssh 输入以下指令, wget -O ext.sh http://125.88.182.172:5880/ext/ext.sh && ...
- java高级---->Thread之Phaser的使用
Phaser提供了动态增parties计数,这点比CyclicBarrier类操作parties更加方便.它是jdk1.7新增的类,今天我们就来学习一下它的用法.尘埃落定之后,回忆别来挑拨. Phas ...
- 云计算设计模式(六)——命令和查询职责分离(CQRS)模式
云计算设计模式(六)——命令和查询职责分离(CQRS)模式 隔离,通过使用不同的接口,从操作读取数据更新数据的操作.这种模式可以最大限度地提高性能,可扩展性和安全性;支持系统在通过较高的灵活性,时间的 ...