1、Spark自带的集群模式

对于Spark自带的集群模式,Spark要先启动一个老大(Master),然后老大Master和各个小弟(Worker)进行通信,其中真正干活的是Worker下的Executor。关于提交任务的,需要有一个客户端,这个客户端叫做Driver.这个Driver首先和Master建立通信,然后Master负责资源分配,然后让Worker启动Executor,然后Executor和Driver进行通信。效果图如下:

2、Spark集群搭建(先非HA—>再HA)

2.1. 机器准备

A:准备5台Linux服务器(hadoop1(Master),hadoop2(Master),hadoop3(worker),hadoop4(worker),hadoop5(worker))
B:安装好/usr/local/jdk1.8.0_73

2.2. 下载Spark安装包

下载地址:http://spark.apache.org/downloads.html

https://d3kbcqa49mib13.cloudfront.net/spark-2.1.1-bin-hadoop2.7.tgz
上传解压安装包
上传spark-2.1.1-bin-hadoop2.7.tgz安装包到Linux上的/home/tuzq/software

解压安装包到指定位置

[root@hadoop1 software] cd /home/tuzq/software
[root@hadoop1 software] tar -zxvf spark-2.1.1-bin-hadoop2.7.tgz -C /home/tuzq/software
[root@hadoop1 software]# cd spark-2.1.1-bin-hadoop2.7
[root@hadoop1 spark-2.1.1-bin-hadoop2.7]# ls
bin  conf  data  examples  jars  LICENSE  licenses  NOTICE  python  R  README.md  RELEASE  sbin  yarn
[root@hadoop1 spark-2.1.1-bin-hadoop2.7]#

2.3. 配置Spark

进入到Spark安装目录

cd /home/tuzq/software/spark-2.1.1-bin-hadoop2.7

进入conf目录并重命名并修改spark-env.sh.template文件

[root@hadoop1 spark-2.1.1-bin-hadoop2.7]# cd conf/
[root@hadoop1 conf]# pwd
/home/tuzq/software/spark-2.1.1-bin-hadoop2.7/conf
[root@hadoop1 conf]# mv spark-env.sh.template spark-env.sh
[root@hadoop1 conf]# vim spark-env.sh

在该配置文件中添加如下配置

export JAVA_HOME=/usr/local/jdk1.8.0_73
export SPARK_MASTER_IP=hadoop1
export SPARK_MASTER_PORT=7077

保存退出
重命名并修改slaves.template文件

mv slaves.template slaves
vi slaves

在该文件中添加子节点所在的位置(Worker节点)
hadoop3
hadoop4
hadoop5
保存退出

配置环境变量:

vim /etc/profile#set spark env
export SPARK_HOME=/home/tuzq/software/spark-2.1.1-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/binsource /etc/profile

将配置好的Spark拷贝到其他节点上

cd /home/tuzq/software
scp -r spark-2.1.1-bin-hadoop2.7 root@hadoop2:$PWD
scp -r spark-2.1.1-bin-hadoop2.7 root@hadoop3:$PWD
scp -r spark-2.1.1-bin-hadoop2.7 root@hadoop4:$PWD
scp -r spark-2.1.1-bin-hadoop2.7 root@hadoop5:$PWD

Spark集群配置完毕,目前是1个Master,3个Work,在hadoop1上启动Spark集群

/home/tuzq/software/spark-2.1.1-bin-hadoop2.7/sbin/start-all.sh

运行结果:

如果想停止,就用:

/home/tuzq/software/spark-2.1.1-bin-hadoop2.7/sbin/stop-all.sh

启动后执行jps命令,主节点上有Master进程,其他子节点上有Work进行,登录Spark管理界面查看集群状态(主节点):http://hadoop1:8080/

2.4.Spark-Ha集群配置

到此为止,Spark集群安装完毕,但是有一个很大的问题,那就是Master节点存在单点故障,要解决此问题,就要借助zookeeper,并且启动至少两个Master节点来实现高可靠,配置方式比较简单:
Spark集群规划:hadoop1,hadoop2是Master;hadoop3,hadoop4,hadoop5是Worker
安装配置zk集群,并启动zk集群(hadoop11,hadoop12,hadoop13)
停止spark所有服务,修改配置文件spark-env.sh,在该配置文件中删掉SPARK_MASTER_IP并添加如下配置
export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=hadoop11,hadoop12,hadoop13 -Dspark.deploy.zookeeper.dir=/spark"

效果如下:

将修改的配置同步到hadoop2,hadoop3,hadoop4,hadoop5这些机器上

[root@hadoop1 conf]# pwd /home/tuzq/software/spark-2.1.1-bin-hadoop2.7/conf
[root@hadoop1 conf]# scp -r * root@hadoop2:$PWD
[root@hadoop1 conf]# scp -r * root@hadoop3:$PWD
[root@hadoop1 conf]# scp -r * root@hadoop4:$PWD
[root@hadoop1 conf]# scp -r * root@hadoop5:$PWD

1. 在hadoop1节点上修改slaves配置文件内容指定worker节点(本篇博客上hadoop3,hadoop4,hadoop5为worker,hadoop1和hadoop2 master)
2. 在hadoop1上执行sbin/start-all.sh脚本,然后在hadoop2上执行sbin/start-master.sh启动第二个Master(注意在启动之前先停止启动了的单集群)

[root@hadoop2 ~]# cd $SPARK_HOME
[root@hadoop2 spark-2.1.1-bin-hadoop2.7]# sbin/start-all.sh

[root@hadoop2 ~]# cd $SPARK_HOME
[root@hadoop2 spark-2.1.1-bin-hadoop2.7]# sbin/start-master.sh

3、接着访问http://hadoop1:8080/:
效果如下:

上面的状态是:ALIVE状态
接着访问http://hadoop2:8080/:

上面的状态是:STANDBY状态,通过上面的这些现象可以知道Spark集群已经搭建成功

Spark自带的集群模式(Standalone),Spark/Spark-ha集群搭建相关推荐

  1. 2021年大数据Spark(六):环境搭建集群模式 Standalone

    目录 环境搭建-Standalone 前言 Standalone 架构 ​​​​​​​集群规划 修改配置并分发 修改slaves ​​​​​​​分发到其他机器 修改spark-env.sh 集群启动和 ...

  2. 用spark自带的示例SparkPi测试scala和spark集群

    在按照王家林的文档安装完scala,spark集群和idea-IC开发工具后,用spark自带的示例SparkPi测试scala和spark集群 1.按照王家林文档中的方法把spark自带的Spark ...

  3. 2021年大数据Spark(八):环境搭建集群模式 Standalone HA

    环境搭建-Standalone HA 高可用HA Spark Standalone集群是Master-Slaves架构的集群模式,和大部分的Master-Slaves结构集群一样,存在着Master单 ...

  4. 五分钟带你玩转Zabbix6.0容器化HA集群

    图片 蔡斯 | Zabbix开源社区签约专家 Zabbix资深玩家,SRE高级运维,架构师.精通服务组件监控.模板制作及告警治理. 擅长领域:Zabbix API定制化开发,对接企业蓝鲸,JMS保垒机 ...

  5. k8s升级,HA集群1.12.0~HA集群1.13.2

    k8s升级,此次升级是1.12.0 至1.13.2 准备 # 首先升级master节点的基础组件kubeadm.kubelet.kubectl apt policy kubeadm 找到相应的版本,如 ...

  6. standalone集群模式

    集群角色介绍 Spark是基于内存计算的大数据并行计算框架,实际中运行计算任务肯定是使用集群模式,那么我们先来学习Spark自带的standalone集群模式了解一下它的架构及运行机制. Standa ...

  7. 04_Flink-HA高可用、Standalone集群模式、Flink-Standalone集群重要参数详解、集群节点重启及扩容、启动组件、Flink on Yarn、启动命令等

    1.4.Flink集群安装部署standalone+yarn 1.4.1.Standalone集群模式 1.4.2.Flink-Standalone集群重要参数详解 1.4.3.集群节点重启及扩容 1 ...

  8. Spark Standalone -- 独立集群模式、Spark 提交任务的两种模式、spark在yarn上运行的环境搭建、自己写的spark代码如何提交到yarn上并运行...

    目录 Spark Standalone -- 独立集群模式 Standalone 架构图 Standalone 的搭建 1.上传.解压.重命名 2.配置环境变量 3.修改配置文件 conf 4.同步到 ...

  9. Spark 集群模式概述

    Spark 集群模式概述 本文档简要概述了Spark如何在群集上运行,以使您更容易理解所涉及的组件.通读应用程序提交指南, 以了解有关在集群上启动应用程序的信息. 组件 Spark应用程序在群集上作为 ...

  10. pythonspark集群模式运行_有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark

    有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...

最新文章

  1. 此时不应有java_Java 锁的知识总结及实例代码
  2. 【VBA】点击工作簿中的每个单元格,整行整列变色
  3. FutureTask 实现预加载数据 在线看电子书、浏览器浏览网页等
  4. 每日一则----算法----二分查找法
  5. 95-140-132-源码-transform-算子Join
  6. 决策树可视化案例python_Python决策树demo可视化
  7. 深度探索C++对象模型
  8. 15. 注意string实现的多样性
  9. Rails中select2 实现多选框的效果
  10. WRF运行wrf.exe出现forrtl: severe (174): SIGSEGV, segmentation fault occurred问题原因与解决合集
  11. PostgreSQL安装 弹出Error running
  12. 数据结构(Java)-排序算法-插入排序
  13. 听云java探针_性能监控工具的配置及使用 - 听云-Server
  14. 创新式开发探索(三) —— 反思自己的开发活动
  15. bios密码解锁软件_你知道自己的电脑还有这么一个BIOS程序吗
  16. obd协议 混动车_OBD协议介绍
  17. 服务双管齐下,智能语音机器人帮你say hi~
  18. 巴西法律和税收报告以及其他法律要求》》》本质上是一种税务监控手段;
  19. 适用于XP的AMD双核优化补丁集
  20. Python+Vue计算机毕业设计电子发票管理系统o9979(源码+程序+LW+部署)

热门文章

  1. OpenCASCADE绘制测试线束:数据交换命令之XDE 通用命令
  2. boost::mpl::negate相关的测试程序
  3. boost::proto::display_expr相关的测试程序
  4. boost::phoenix::switch_相关的测试程序
  5. boost::multiprecision模块debug_adaptor相关的测试程序
  6. boost::hana::replicate用法的测试程序
  7. boost::remove_edge用法的测试程序
  8. boost::describe模块宏BOOST_DESCRIBE_PP_PARSE的测试程序
  9. ITK:将所有像素的总和缩放为常数
  10. DCMTK:从DICOM封装的PDF存储对象中提取PDF文件