本文使用Spark的版本为:spark-2.4.0-bin-hadoop2.7.tgz。

spark的集群采用3台机器进行搭建,机器分别是server01,server02,server03。

其中:server01,server02设置为Master,server01,server02,server03为Worker。

1.Spark

下载地址:

http://spark.apache.org/downloads.html

选择对应的版本进行下载就好,我这里下载的版本是:spark-2.4.0-bin-hadoop2.7.tgz。

2.上传及解压

2.1 下载到本地后,上传到Linux的虚拟机上

scp spark-2.4.0-bin-hadoop2.7.tgz hadoop@server01:/hadoop

2.2 解压

tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz

2.3 重命名

mv spark-2.4.0-bin-hadoop2.7 spark

3.配置环境

进入spark/conf目录

3.1 复制配置文件

cp slaves.template slaves

cp spark-env.sh.template spark-env.sh

3.2 修改slaves配置文件

spark集群的worker conf配置 slaves

server01

server02

server03

3.3 修改spark-env.sh配置文件

# java环境变量

export JAVA_HOME=/usr/local/java

#spark home

export SPARK_HOME=/export/opt/spark/spark2.4.0

# spark集群master进程主机host

export SPARK_MASTER_HOST=server01

# 配置zk 此处可以独立配置zk list,逗号分隔

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=xxx.xxx.xxx.xxx:2181, xxx.xxx.xxx.xxx:2181……"

如下图

3.4 下发到server02和server03机器上

scp -r /hadoop/spark hadoop@server02:/hadoop

scp -r /hadoop/spark hadoop@server03:/hadoop

3.5 修改server02机器上的spark-env.sh的SPARK_MASTER_HOST参数信息

# 增加备用master主机,改为server02,将自己设置为master(备用)

export SPARK_MASTER_HOST=server02

3.6 配置环境变量

给server01,server02,server03机器上配置spark的环境变量

export SPARK_HOME=/export/opt/spark/spark2.4.0

export PATH=$PATH:${SPARK_HOME}/bin:${SPARK_HOME}/sbin

#使配置环境生效

source /etc/profile

4. 启动Spark集群

在server01机器上,进入spark目录

4.1 分别启动master和slaves进程

# 启动master进程

sbin/start-master.sh

# 启动3个worker进程,也可以每个机器独立启动需要输入两个master地址

sbin/start-slaves.sh

jps查看进程1有既有master又有Worker,2,3只有Worker

4.2 直接使用start-all.sh启动

sbin/start-all.sh

4.3 手动启动server02机器上的master进程

进入spark目录

sbin/start-master.sh

我们可以使用stop-all.sh杀死spark的进程

sbin/stop-all.sh

web页面展示

在浏览器中输入

server01:8080

Status:ALIVE 说明master为主Master

server02:8080

 总结

  部署完成后可以尝试kill掉1的master,然后需要等几分钟后会重启备用master,此时备用切换为主。

  另外如果application被杀掉或者jvm出现问题,还可以通过增加参数 --supervise(需要安装,pip install supervise)可以重新启动application。

Spark Standalone模式 高可用部署的更多相关文章

  1. Redis哨兵模式高可用部署和配置

    一.Redis 安装配置 1.下载redis安装包 wget http://download.redis.io/releases/redis-4.0.9.tar.gz 2.解压安装包 tar -zxv ...

  2. 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 ...

  3. 【原】Spark Standalone模式

    Spark Standalone模式 安装Spark Standalone集群 手动启动集群 集群创建脚本 提交应用到集群 创建Spark应用 资源调度及分配 监控与日志 与Hadoop共存 配置网络 ...

  4. Spark Standalone模式HA环境搭建

    Spark Standalone模式常见的HA部署方式有两种:基于文件系统的HA和基于ZK的HA 本篇只介绍基于ZK的HA环境搭建: $SPARK_HOME/conf/spark-env.sh 添加S ...

  5. eql高可用部署方案

    运行环境 服务器两台(后面的所有配置案例都是以10.96.0.64和10.96.0.66为例) 操作系统CentOS release 6.2 必须要有共同的局域网网段 两台服务器都要安装keepali ...

  6. Spark standalone模式的安装(spark-1.6.1-bin-hadoop2.6.tgz)(master、slave1和slave2)

     前期博客  Spark运行模式概述 Spark standalone简介与运行wordcount(master.slave1和slave2) 开篇要明白 (1)spark-env.sh 是环境变量配 ...

  7. Redis高可用部署及监控

    Redis高可用部署及监控 目录                        一.Redis Sentinel简介 二.硬件需求 三.拓扑结构 .单M-S结构 .双M-S结构 .优劣对比 四.配置部 ...

  8. 006.SQLServer AlwaysOn可用性组高可用部署

    一 数据库镜像部署准备 1.1 数据库镜像支持 有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previ ...

  9. kubernetes 1.15.1 高可用部署 -- 从零开始

    这是一本书!!! 一本写我在容器生态圈的所学!!! 重点先知: 1. centos 7.6安装优化 2. k8s 1.15.1 高可用部署 3. 网络插件calico 4. dashboard 插件 ...

随机推荐

  1. JAVA学习线路:day01面向对象(继承、抽象类)

    所有的文档和源代码都开源在GitHub: https://github.com/kun213/DailyCode上了.希望我们可以一起加油,一起学习,一起交流. day01面向对象[继承.抽象类] 今 ...

  2. React踩坑笔记 —— React

    Webpack提供了自己的导入方式require.include,但同时也支持commonjs规范或AMD规范的require语法,而Node.js使用的就是common.js,ES6的语法Impor ...

  3. Rust之路(1)

    [未经书面许可,严禁转载]-- 2020-10-09 -- 正式开始Rust学习之路了! 思而不学则罔,学而不思则殆.边学边练才能快速上手,让我们先来个Hello World! 但前提是有Rust环境 ...

  4. pandas常用方法总结

    In [49]: frame2 Out[49]: year state pop debt one 2000 Ohio 1.5 NaN two 2001 Ohio 1.7 NaN three 2002 ...

  5. js拖拽上传 文件上传之拖拽上传

    由于项目需要上传文件到服务器,于是便在文件上传的基础上增加了拖拽上传.拖拽上传当然属于文件上传的一部分,只不过在文件上传的基础上增加了拖拽的界面,主要在于前台的交互, 从拖拽的文件中获取文件列表然后调 ...

  6. spring boot:spring security实现oauth2+jwt管理认证授权及oauth2返回结果格式化(spring boot 2.3.3)

    一,为什么oauth2要整合jwt? 1,OAuth2的token技术有一个最大的问题是不携带用户信息,所以资源服务器不能进行本地验证, 以致每次对于资源的访问,资源服务器都需要向认证服务器的toke ...

  7. php生成签名

    // 生成签名private function makeSignature($params){ foreach ($params as $key=>$value){ $arr[$key] = $ ...

  8. MySQL安装版本介绍

    MySQL安装 源码安装 二进制格式的程序包 程序包管理器安装 yum dnf MySQL在CentOS上的情况 6上只有mySQL 7上只有mariadb 8上既有mysql也有mariadb Ce ...

  9. Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(一)

    上一节演示如何安装Docker,链接:Docker学习笔记之-在CentOS中安装Docker 本节演示 将.net core 3.1 部署到docker容器当中,并使用 Nginx反向代理,部署平台 ...

  10. PowerShell类grep

    PowerShell类grep 方法一: windows下没有grep不过有findstr, 功能差不多 方法二: powershell自带的正择功能 xxx | where {$_ -match & ...