Spark1.3.1 On Yarn的集群搭建
下面给出的是spark集群搭建的环境:
操作系统:最小安装的CentOS 7(下载地址)
Yarn对应的hadoop版本号:Hadoop的Cloudera公司发行版Hadoop2.6.0-CDH5.4.0(下载地址)
Java版本号:JDK1.8(下载地址)
Scala版本号:Scala2.10.4(下载地址)
Spark版本号:spark-1.3.1-bin-hadoop2.6(下载地址)
集群组成:master 192.168.1.2
slave1 192.168.1.3
slave2 192.168.1.4
slave3 192.168.1.5
1、 操作系统的安装
我觉得这个就没必要说了,下载一个虚拟机或者直接在真机安装,比较简单,不再赘述。
2、 Java的安装
请参看我的博文《Jdk1.8在CentOS7中的安装与配置》有详细说明。
3、 Scala的安装
请参看我的博文《Scala2.10.4在CentOS7中的安装与配置》有详细说明。
4、 Yarn的部署
Yarn是由Hadoop2.x发展而来,是Hadoop1.x的JobTracker和TaskTracker的升级版本,是hadoop2.x的资源调度工具。搭建Hadoop2.x环境的时候,yarn会自动被搭建好,所以,我们只需要搭建hadoop环境即可。
Hadoop具体环境搭建,请参看我的博文《Hadoop2.6.0在CentOS 7中的集群搭建》有详细说明。
5、 Spark的集群搭建
a) 首先,从官网下载spark1.3.1对应hadoop2.6.0的版本(注:以下所有操作都在超级用户模式下进行!)
b) 在主节点master的root/app的目录下,解压下载好的spark-1.3.1-bin-hadoop2.6.tgz:
tar –xzvf spark-1.3.1-bin-hadoop2.6.tgz
c) 配置Spark的环境变量:
i. vi /etc/profile
ii. 在文件最后添加:
## SPARK
export SPARK_HOME=spark的绝对路径(我这边是:/root/app/spark-1.3.1-bin-hadoop2.6)
export PATH=$PATH:$SPARK_HOME/bin
d) Spark的相关文件配置
i. slaves的配置:
- vi slaves
- 添加从节点slave名称:
slave1
slave2
slave3
ii. spark-env.sh的配置
- vi spark-env.sh
- 向文件添加:
export JAVA_HOME=Java安装的绝对路径(我这边是:/root/app/jdk1.8)
export SCALA_HOME=Scala安装的绝对路径(我这边是:/root/app/scala2.10)
export HADOOP_CONF_DIR=hadoop环境下的配置文件目录etc/hadoop的绝对路径(我这边是:/root/app/hadoop-2.6.0-cdh5.4.0/etc/Hadoop)
export SPARK_MASTER_IP=主节点IP或主节点IP映射名称(我这边是:master)
export SPARK_MASTER_PORT=主节点启动端口(默认7077)
export PARK_MASTER_WEBUI_PORT=集群web监控页面端口(默认8080)
export SPARK_WORKER_CORES=从节点工作的CPU核心数目(默认1)
export SPARK_WORKER_PORT=从节点启动端口(默认7078)
export SPARK_WORKER_MEMORY=分配给Spark master和 worker 守护进程的内存空间(默认512m)
export SPARK_WORKER_WEBUI_PORT=从节点监控端口(默认8081)
export SPARK_WORKER_INSTANCES=每台从节点上运行的worker数量 (默认: 1). PS:当你有一个非常强大的计算的时候和需要多个Spark worker进程的时候你可以修改这个默认值大于1 . 如果你设置了这个值。要确保SPARK_WORKER_CORE 明确限制每一个worker的核心数, 否则每个worker 将尝试使用所有的核心。
3. 我这边的yarn部署是按照spark配置文件的默认部署的,如果你想根据实际情况来部署的话,可以修改一下文件:
# - HADOOP_CONF_DIR, to point Spark towards Hadoop configuration files
# - SPARK_EXECUTOR_INSTANCES, Number of workers to start (Default: 2)
# - SPARK_EXECUTOR_CORES, Number of cores for the workers (Default: 1).
# - SPARK_EXECUTOR_MEMORY, Memory per Worker (e.g. 1000M, 2G) (Default: 1G)
# - SPARK_DRIVER_MEMORY, Memory for Master (e.g. 1000M, 2G) (Default: 512 Mb)
# - SPARK_YARN_APP_NAME, The name of your application (Default: Spark)
# - SPARK_YARN_QUEUE, The hadoop queue to use for allocation requests
# - SPARK_YARN_DIST_FILES, Comma separated list of files to be distributed with the job.
# - SPARK_YARN_DIST_ARCHIVES, Comma separated list of archives to be distributed with the job.
iii. Spark文件复制:
将配置好的Spark文件复制到各个从节点slave对应的目录上:
scp spark-1.3.1-bin-hadoop2.6/ root@slave1:/root/app
scp spark-1.3.1-bin-hadoop2.6/ root@slave2:/root/app
scp spark-1.3.1-bin-hadoop2.6/ root@slave3:/root/app
6、 Spark On Yarn的集群启动:
a) Yarn的启动:
i. 先进入hadoop目录下
ii. ./sbin/start-all.sh
iii. jps发现有ResourceManager进程,说明yarn启动完成
b) Spark的启动:
i. 先进入spark目录下
ii. ./sbin/start-all.sh
iii. jps主节点发现有Master进程,jps从节点有Worker进程,说明spark启动完成
c) Spark监控页面,我就不测试了,一般都是masterIP:8080,如有打不开监控页面的问题也是防火墙没有被禁用的问题,请参看我的博文《Hadoop环境搭建过程中可能遇到的问题》 里面的问题2有详细说明。
7、至此,Spark On Yarn的集群搭建完成。
Spark1.3.1 On Yarn的集群搭建的更多相关文章
- hadoop-2.6.0.tar.gz + spark-1.5.2-bin-hadoop2.6.tgz的集群搭建(单节点)
前言 本人呕心沥血所写,经过好一段时间反复锤炼和整理修改.感谢所参考的博友们!同时,欢迎前来查阅赏脸的博友们收藏和转载,附上本人的链接.http://www.cnblogs.com/zlslch/p/ ...
- hadoop-2.6.0.tar.gz + spark-1.5.2-bin-hadoop2.6.tgz 的集群搭建(3节点和5节点皆适用)
本人呕心沥血所写,经过好一段时间反复锤炼和整理修改.感谢所参考的博友们!同时,欢迎前来查阅赏脸的博友们收藏和转载,附上本人的链接.http://www.cnblogs.com/zlslch/p/584 ...
- hadoop-2.6.0.tar.gz + spark-1.5.2-bin-hadoop2.6.tgz的集群搭建(单节点)(Ubuntu系统)
前言 本人呕心沥血所写,经过好一段时间反复锤炼和整理修改.感谢所参考的博友们!同时,欢迎前来查阅赏脸的博友们收藏和转载,附上本人的链接.http://www.cnblogs.com/zlslch/p/ ...
- hadoop-2.6.0.tar.gz + spark-1.6.1-bin-hadoop2.6.tgz的集群搭建(单节点)(CentOS系统)
福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号: 大数据躺过的坑 Java从入门到架构师 人工智能躺过的坑 Java全栈大联盟 ...
- Hadoop 2.2 YARN分布式集群搭建配置流程
搭建环境准备:JDK1.6,SSH免密码通信 系统:CentOS 6.3 集群配置:NameNode和ResourceManager在一台服务器上,三个数据节点 搭建用户:YARN Hadoop2.2 ...
- Hadoop2.7.4 yarn(HA)集群搭建步骤(CentOS7)
群节点分配: Park01:Zookeeper.NameNode(active).ResourceManager(active) Park02:Zookeeper.NameNode(standby) ...
- hadoop yarn HA集群搭建
可先完成hadoop namenode HA的搭建:http://www.cnblogs.com/kisf/p/7458519.html 搭建yarnde HA只需要在namenode HA配置基础上 ...
- Hadoop集群搭建-01前期准备
Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...
- Hadoop集群搭建-04安装配置HDFS
Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...
随机推荐
- Delphi 使用TAdoQuery执行存储过程的样例
procedure TCustomerForm.FindCustomerInfo;var strSql:string;begin // BL_HV_FindCustomerInfo 存储过程的名称 ...
- 使用 Vagrant 打造跨平台开发环境fffff
Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用,“代码在我机子上运行没有问题”这种说辞将成为历史. 我们可以通过 Va ...
- [转帖]高通推出八核笔电处理器骁龙8cx 能超英特尔吗?
高通推出八核笔电处理器骁龙8cx 能超英特尔吗? https://baijiahao.baidu.com/s?id=1619154699684981202&wfr=spider&for ...
- QT源码解析(七)Qt创建窗体的过程,作者“ tingsking18 ”(真正的创建QPushButton是在show()方法中,show()方法又调用了setVisible方法)
前言:分析Qt的代码也有一段时间了,以前在进行QT源码解析的时候总是使用ue,一个函数名在QTDIR/src目录下反复的查找,然后分析函数之间的调用关系,效率实在是太低了,最近总结出一个更简便的方法, ...
- node 加密音频文件 和 解密音频文件
fs.readFile('./downsuccess/'+name+'', {flag: 'r+', encoding: ''}, function (err, data) { c ...
- Android中线程间通信原理分析:Looper,MessageQueue,Handler
自问自答的两个问题 在我们去讨论Handler,Looper,MessageQueue的关系之前,我们需要先问两个问题: 1.这一套东西搞出来是为了解决什么问题呢? 2.如果让我们来解决这个问题该怎么 ...
- 小试javascript模版mustache
夜以深,人未眠,本该入睡,然逢周末,无聊甚哉,故于此作文打发时间----------- 前几日,无聊,小试了下javascript版本的mustache模版,说是小试,其实主要目的是阅读学习其源码.如 ...
- Eclipse中设置作者、日期等的方式
1.点击Windows->Preferences->Java->Code Style->Code Templates: 2.点击展开右侧的Comments选项卡,里面的选项对应 ...
- Springboot+Thymeleaf框架的button错误
---恢复内容开始--- 在做公司项目时,遇到了一个Springboot+Thymeleaf框架问题: 使用框架写网站时,没有标明type类型的button默认成了‘submit’类型,每次点击按钮都 ...
- The Dominator of Strings HDU - 6208(ac自动机板题)
题意: 就是求是否有一个串 是其它所有串的母串 解析: 把所有的串都加入到trie数中 然后用最长的串去匹配就好了 emm..开始理解错题意了...看成了只要存在一个串是另一个的母串就好.. 然后输 ...