Spark Standalone模式 高可用部署

Spark Standalone模式 高可用部署

 

本文使用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

<span>Spark Standalone模式 高可用部署</span>

3.2 修改slaves配置文件

spark集群的worker conf配置 slaves

server01

server02

server03

 <span>Spark Standalone模式 高可用部署</span>

 

 

 

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……"

 

如下图

 <span>Spark Standalone模式 高可用部署</span>

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

<span>Spark Standalone模式 高可用部署</span>

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

 <span>Spark Standalone模式 高可用部署</span>

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

sbin/start-all.sh

<span>Spark Standalone模式 高可用部署</span>

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

进入spark目录

sbin/start-master.sh

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

sbin/stop-all.sh

web页面展示

在浏览器中输入

server01:8080

<span>Spark Standalone模式 高可用部署</span>

Status:ALIVE 说明master为主Master

server02:8080

 <span>Spark Standalone模式 高可用部署</span>

 总结

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119635.html原文链接:https://javaforall.net

(0)
上一篇 2021年11月27日 下午8:00
下一篇 2021年11月27日 下午9:00


相关推荐

  • linux中resize的含义,linux的resize2fs命令

    linux中resize的含义,linux的resize2fs命令Linux 下的 resize2fs 命令被用来增大或收缩未加载的文件系统的大小 下面由学习啦小编为大家整理了 linux 下 resize2fs 命令的相关知识 希望对大家有帮助 linux 的 resize2fs 命令详解文件系统管理 resize2fs 命令被用来增大或者收缩未加载的 ext2 ext3 文件系统的大小 如果文件系统是处于 mount 状态下 那么它只能做到扩容 前提条件是内核支持在线 resize

    2026年3月26日
    1
  • java mousewheel_鼠标滚轮实现窗体图形缩放MouseWheel

    java mousewheel_鼠标滚轮实现窗体图形缩放MouseWheel功能描述 在鼠标进入一个用于绘制图形的窗体 如 Show 3D 时 滚动鼠标滚轮 使窗体中的内容能够进行放大缩小 此处以绘制 XNA 图形为例 滚动鼠标的滚轮 触发的是窗体或控件上的 MouseWheel 事件 但是在 VS2008 以及其他版本中 窗体和控件的事件列表中并不包含 MouseWheel 事件 因此对于这个事件的事件处理函数须手动创建和实现 首先在窗体的构造函数中 添加如下代码 1th

    2026年3月18日
    2
  • linux基础-linux和unix的区别[通俗易懂]

    linux基础-linux和unix的区别[通俗易懂]有时候我们对天天使用的Linux指令,只知道怎么用,却分不清概念用法区别,我觉得很有必要整理整理大家熟视无睹的一些linux概念区别。首先说说unix和linux的区别:linux和unix的最大的区

    2022年8月1日
    6
  • 网络游戏开发基础篇

    本篇的内容,会介绍几个内容:单例,dll动态加载以及一些跨平台的处理。       1、单例:单例模式是一种使用广泛而又比较简单的设计模式,他的定义我就不多介绍了,大家上网一查就知道了,基本都能理解。在游戏开发中,会有很多单件,所以封装一个单例类供后面的开发使用。       本单例使用模板实现,代码如下:[cpp] viewplaincopyprint?//

    2022年4月5日
    43
  • Linux下的tar压缩解压缩命令详解

    Linux下的tar压缩解压缩命令详解1 tar 这五个是独立的命令 压缩解压都要用到其中一个 可以和别的命令连用但只能用其中一个 c 建立压缩档案 x 解压 t 查看内容 r 向压缩归档文件末尾追加文件 u 更新原压缩包中的文件下面的参数是根据需要在压缩或解压档案时可选的 z 有 gzip 属性的 j 有 bz2 属性的 Z 有 compress 属性的 v 显示所有过程 O 将文件解开到标准输出下面的参数 f 是必须的 f 使用档案名字 切记 这个参数是最后一个参数 后面只能接档案名 命令组合使用 t

    2026年3月16日
    2
  • [POJ 2976]Dropping tests(0-1分数规划)

    [POJ 2976]Dropping tests(0-1分数规划)

    2022年2月1日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号