首先交代一下集群的规模和配置

集群有六台机器,均是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. 【Spark】Spark的Standalone模式安装部署

    Spark执行模式 Spark 有非常多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则执行在集群中,眼下能非常好的执行在 Yarn和 Mesos 中.当然 Spark 还有自带的 St ...

  2. spark运行模式之二:Spark的Standalone模式安装部署

    Spark运行模式 Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Stan ...

  3. spark standalone ha spark submit

    when you build a spark standalone ha cluster, when you submit your app,  you should send it to the l ...

  4. Spark standalone HA

    配置Spark standalone HA 主机:node1,node2,node3 master: node1,node2 slave:node2,node3 修改配置文件: node1,node3 ...

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

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

  6. CentOS6安装各种大数据软件 第十章:Spark集群安装和部署

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  7. spark运行模式之一:Spark的local模式安装部署

    Spark运行模式 Spark 有很多种模式,最简单就是单机本地模式,还有单机伪分布式模式,复杂的则运行在集群中,目前能很好的运行在 Yarn和 Mesos 中,当然 Spark 还有自带的 Stan ...

  8. hibench 对CDH5.13.1进行基准测试(测试项目hadoop\spark\)HDFS作HA高可靠性

    使用CDH 5.13.1部署了HADOOP集群之后,需要进行基准性能测试. 一.hibench 安装 1.安装位置要求. 因为是全量安装,其中有SPARK的测试(SPARK2.0). 安装位置在SPA ...

  9. SPARK在linux中的部署,以及SPARK中聚类算法的使用

    眼下,SPARK在大数据处理领域十分流行.尤其是对于大规模数据集上的机器学习算法.SPARK更具有优势.一下初步介绍SPARK在linux中的部署与使用,以及当中聚类算法的实现. 在官网http:// ...

随机推荐

  1. strcpy函数的实现【转】

    转自:http://www.cnblogs.com/chenyg32/p/3739564.html 已知strcpy函数的原型是: char *strcpy(char *dst, const char ...

  2. App云测试平台免费功能汇总

    Wetest  http://wetest.qq.com 阿里云测 https://mqc.aliyun.com/ Testbird  https://www.testbird.com/ 百度 htt ...

  3. [NOIP 2010] 引水入城

    搜索+贪心. 参考博客:http://blog.sina.com.cn/s/blog_8442ec3b0100xib1.html 主要是要看出来,如果有解的话,每个沿湖城市能够流到的范围是连续的区间. ...

  4. .NET中类和结构的区别

    类:类是引用类型在堆上分配,类的实例进行赋值只是复制了引用,都指向同一段实际对象分配的内存类有构造和析构函数类可以继承和被继承结构:结构是值类型在栈上分配(虽然栈的访问速度比较堆要快,但栈的资源有限放 ...

  5. grep 所有多个关键字

    标签(空格分隔): Linux 多个关键字 或 关系 egrep 'CommentManager|getComment' --color catalina.log.2017-03-15 grep -E ...

  6. frameset框架集

    frame使用注意事项: 1.frame不能脱离frameset单独使用 2.frame不能放在body标签中,不然不起效果. 3.frame的高度只能由frameset来决定. frameset:是 ...

  7. HDU 6335.Problem D. Nothing is Impossible-思维题 (2018 Multi-University Training Contest 4 1004)

    6335.Problem D. Nothing is Impossible 题意:给你n道题目,m个人,每题有x个正确选项,y个错误选项,问你做对题数量最多的人做对了多少道题目. 如果一道题有y个错误 ...

  8. poj1062 最短路径 dijkstra

    题目连接:http://poj.org/problem?id=1062 Description 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了,于是便向酋长去求亲.酋长要他用 1000 ...

  9. Golang基础入门

    Go语言很容易上手 第一步,在你的计算机上安装Go语言环境 首先下载对应操作系统的安装包或者源文件 Windows和Mac OSX 都有安装包,可以选择直接双击安装,很简单 Ubuntu系统可以使用 ...

  10. [BZOJ4897][THUSC2016]成绩单(DP)

    4897: [Thu Summer Camp2016]成绩单 Time Limit: 40 Sec  Memory Limit: 512 MBSubmit: 220  Solved: 132[Subm ...