版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/45629643

首先交代一下集群的规模和配置
集群有六台机器,均是VM虚拟机,每台256M的内存(原谅楼主物理机硬件不太给力)
主机名分别是cloud1~cloud6
每台机器上都装有jdk6,和hadoop-2.2.0
其中cloud4~cloud6上装有zookeeper
cloud1为hdfs文件系统的启动节点
cloud3为yarn资源管理的启动节点
(注意每台机器都配置好SSH免密码登录,可以在下面的hadoop部署链接中查看具体步骤)

有关hadoop和zookeeper的部署请看:

hadoop-2.2.0集群安装部署

zookeeper集群安装部署

本次实验目标是在六台虚拟机上装上spark,并且将cloud1作为主节点

首先将下载好的spark和scala包上传到cloud1上

scala下载地址

spark下载地址

注意安装时尽量不要使用root用户(这里使用cloud自定义用户)

安装scala:
tar –zxvf scala-2.10.5.tgz
mv scala-2.10.5 scala

安装spark:
tar -zxvf spark-1.3.0-bin-hadoop2.3.tgz
mv spark-1.3.1 spark

配置环境变量:
vi /etc/profile
export SCALA_HOME=/home/cloud/scala
export SPARK_HOME=/home/cloud/spark
export PATH=$$SPARK_HOME/bin:$SCALA_HOME/bin:$PATH

source /etc/profile
使用scala -version查看是否配置成功

进入spark目录,修改文件slaves
vi conf/slaves
cloud1
cloud2
cloud3
cloud4
cloud5
cloud6

修改spark-env.sh
vi conf/spark-env.sh

export SPARK_MASTER_IP=cloud1
export SPARK_WORKER_MEMORY=128m
export JAVA_HOME=/usr/java/jdk
export SCALA_HOME=/home/cloud/scala
export SPARK_HOME=/home/cloud/spark
export HADOOP_CONF_DIR=/home/cloud/hadoop/etc/hadoop
export SPARK_LIBRARY_PATH=$$SPARK_HOME/lib
export SCALA_LIBRARY_PATH=$SPARK_LIBRARY_PATH
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_MASTER_PORT=7077

将cloud1上配置好的spark和scala通过scp复制到其他各个节点上(注意其他节点上的profile文件也要一致)
scp -r spark cloud2:/home/cloud/
scp -r scala cloud2:/home/cloud/

scp -r spark cloud3:/home/cloud/
scp -r scala cloud3:/home/cloud/

scp -r spark cloud4:/home/cloud/
scp -r scala cloud4:/home/cloud/

scp -r spark cloud5:/home/cloud/
scp -r scala cloud5:/home/cloud/

scp -r spark cloud6:/home/cloud/
scp -r scala cloud6:/home/cloud/

通过
sbin/start-all.sh
启动spark集群
http://cloud1:8080可以监控spark Standalone集群

如果要启动spark-shell连接到spark Standalone集群,有两种方法:
a:使用MASTER=spark://cloud1:7077 bin/spark-shell启动
b:配置在conf/spark-env.sh增加:
export MASTER=spark://$${SPARK_MASTER_IP}:${SPARK_MASTER_PORT}
然后使用使用./spark-shell启动

基于文件系统的单点恢复
主要用于开发或测试环境下
当spark提供目录保存spark Application和worker的注册信息,并将他们的恢复状态写

入该目录中,这时,一旦Master发生故障,就可以通过重新启动Master进程(sbin/start-master.sh),恢复已运行的spark Application和worker的注册信息。
基于文件系统的单点恢复,主要是在spark-env里对SPARK_DAEMON_JAVA_OPTS设置:
参数 含义
spark.deploy.recoveryMode:设成FILESYSTEM , 缺省值为NONE
spark.deploy.recoveryDirectory:Spark 保存恢复状态的目录

export SPARK_DAEMON_JAVA_OPTS=”-Dspark.deploy.recoveryMode=FILESYSTEM -
Dspark.deploy.recoveryDirectory=/home/cloud/spark/recovery”

基于zookeeper的Standby Masters
参数 含义
spark.deploy.recoveryMode:设置成ZOOKEEPER,缺省值为 NONE
spark.deploy.zookeeper.url: ZooKeeper URL(如192.168.100.111:2181,192.168.100.112:2181…)
spark.deploy.zookeeper.dir:ZooKeeper 保存恢复状态的目录,缺省为 /spark

Master可以在任何时候添加或移除。如果发生故障切换,新的Master将联系所有以前注册的Application和Worker告知Master的改变。

export SPARK_DAEMON_JAVA_OPTS=”-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=cloud4:2181,cloud5:2181,cloud6:2181, -
Dspark.deploy.zookeeper.dir=/home/cloud/spark”

对于初次接触Spark的一些常见的问题:
1.小的数据量,如G级别,适合在Spark上运行吗?
大数据和数据大是两个不同的概念,大数据处理强调的是处理的速度,数据量的大小反而不是关键。例如,1G的数据要求在0.005秒之内处理完毕

2.Standalone和ON YARN模式有什么区别?
两者都是部署在多台节点上的分布式环境,Standalone从名字上就可以看出是Spark自己的集群,而ON YARN模式下,YARN提供了多框架并存的机制,不仅仅是Spark。并且还提供对多个框架之间是分配和调度资源的管理。

3.运行Spark一定需要Hadoop吗?
不一定,如果是学习需要,完全可以将Spark安装在local模式下,连HDFS都不需要
但是一般的商业部署架构为:Hadoop+Yarn+Spark
Hadoop的HDFS是大数据处理首选的文件系统,Spark需要历史数据,而这些数据就在HDFS中
Yarn多框架并存,资源管理保证了集群的高效和可用性
Spark应对大数据处理的各种场景,一套搞定,one stack to rule them all

Spark(一)-- Standalone HA的部署相关推荐

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

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

  2. Spark集群基于Zookeeper的HA搭建部署笔记(转)

    原文链接:Spark集群基于Zookeeper的HA搭建部署笔记 1.环境介绍 (1)操作系统RHEL6.2-64 (2)两个节点:spark1(192.168.232.147),spark2(192 ...

  3. Spark 环境 Standalone 模式

    文章目录 Standalone 模式 集群规划 解压缩文件 修改配置文件 启动集群 提交参数说明 配置历史服务 配置高可用(HA) Standalone 模式 local 本地模式毕竟只是用来进行练习 ...

  4. spark on yarn 完全分部署_大数据Spark面试题(一)

    1.spark的有几种部署模式,每种模式特点?(☆☆☆☆☆) 1)本地模式 Spark不一定非要跑在hadoop集群,可以在本地,起多个线程的方式来指定.将Spark应用以多线程的方式直接运行在本地, ...

  5. Spark支持三种分布式部署方式

    目前Apache Spark支持三种分布式部署方式,分别是standalone.spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内 ...

  6. Apache Spark 3.x集群部署

    Apache Spark简介 Apache Spark是一个开源集群运算框架,于 2009 年诞生于加州大学伯克利分校 AMPLab,2013 年被捐赠给 Apache 软件基金会,2014 年 2 ...

  7. Spark的三种分布式部署方式

    目前Apache Spark支持三种分布式部署方式,分别是standalone.spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内 ...

  8. 【学会了学会了】Flink官网翻译——Standalone以及YARN部署

    Standalone 开始(Getting Started) This Getting Started section guides you through the local setup (on o ...

  9. Spark 进程模型与分布式部署:什么是分布式计算?

    0 前言 大家好,我是小林! 本篇文章是 Spark 系列的第三篇文章. 在第二篇文章中,小林讲到一个 Spark 任务首先要生成数据依赖图,也就是 Job 的逻辑执行图,然后根据一定的规则转化成 J ...

最新文章

  1. 登高自卑 | 我的NumPy笔记
  2. 2018年终总结之AI领域开源框架汇总
  3. SpringBoot2.x启动原理概述
  4. ajax jsp模糊查询源码,Ajax动态执行模糊查询功能
  5. 人工智能大脑如何调控智能交通“疏堵”?
  6. onenote复制出来是图片_OneNote入门篇
  7. Kinect for Windows Samples
  8. 数字信号处理5:FIR滤波器设计
  9. 动手编写Node的C++模块
  10. Leetcode 刷题笔记(三) —— 数组类型解题方法三:滑动窗口
  11. 谷歌在线appspot平台教你学Hacker(由浅如深)-XSS篇
  12. wordpress怎么修改地址栏小图标
  13. 《低代码指南 》——LCHub应用参谋的适用场景
  14. 一文读懂:完整的支付系统整体架构!
  15. 华为程序员频交 Linux 内核补丁遭质疑,管理员后续回应:承认贡献,但请不要琐碎提交
  16. 关于0x80070091 目录不是空的
  17. raspberrypi三天玩能人脸识别
  18. Redis实现的布隆过滤器如何快速有效删除数据
  19. Linux各版本内核下载地址
  20. kettle 教程(四):自定义 Java 代码

热门文章

  1. 夜间排障某省某电信公司后台数据库故障
  2. 接口对前后端和测试的意义
  3. Linux 一切皆文件认知
  4. Spring MVC验证器应用实例(超详细)
  5. python3没有decode_我如何在Python3中使用.decode('string-escape')?
  6. linux内存和flash区别,嵌入式Linux概念NOR/NAND Flash的差别
  7. 错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use: 1099; nested exception is
  8. html5和html的区别是什么?学HTML5要不要学html?
  9. PTA的非零返回原因以及解决办法
  10. 开滦二中2021高考成绩查询,2021唐山中考录取分数线查询