下面给出的是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的配置:

    1.   vi slaves
    2.   添加从节点slave名称:

        slave1

        slave2

        slave3

  ii.  spark-env.sh的配置

    1.   vi spark-env.sh
    2.   向文件添加:
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的集群搭建的更多相关文章

  1. hadoop-2.6.0.tar.gz + spark-1.5.2-bin-hadoop2.6.tgz的集群搭建(单节点)

    前言 本人呕心沥血所写,经过好一段时间反复锤炼和整理修改.感谢所参考的博友们!同时,欢迎前来查阅赏脸的博友们收藏和转载,附上本人的链接.http://www.cnblogs.com/zlslch/p/ ...

  2. hadoop-2.6.0.tar.gz + spark-1.5.2-bin-hadoop2.6.tgz 的集群搭建(3节点和5节点皆适用)

    本人呕心沥血所写,经过好一段时间反复锤炼和整理修改.感谢所参考的博友们!同时,欢迎前来查阅赏脸的博友们收藏和转载,附上本人的链接.http://www.cnblogs.com/zlslch/p/584 ...

  3. hadoop-2.6.0.tar.gz + spark-1.5.2-bin-hadoop2.6.tgz的集群搭建(单节点)(Ubuntu系统)

    前言 本人呕心沥血所写,经过好一段时间反复锤炼和整理修改.感谢所参考的博友们!同时,欢迎前来查阅赏脸的博友们收藏和转载,附上本人的链接.http://www.cnblogs.com/zlslch/p/ ...

  4. hadoop-2.6.0.tar.gz + spark-1.6.1-bin-hadoop2.6.tgz的集群搭建(单节点)(CentOS系统)

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  5. Hadoop 2.2 YARN分布式集群搭建配置流程

    搭建环境准备:JDK1.6,SSH免密码通信 系统:CentOS 6.3 集群配置:NameNode和ResourceManager在一台服务器上,三个数据节点 搭建用户:YARN Hadoop2.2 ...

  6. Hadoop2.7.4 yarn(HA)集群搭建步骤(CentOS7)

    群节点分配: Park01:Zookeeper.NameNode(active).ResourceManager(active) Park02:Zookeeper.NameNode(standby) ...

  7. hadoop yarn HA集群搭建

    可先完成hadoop namenode HA的搭建:http://www.cnblogs.com/kisf/p/7458519.html 搭建yarnde HA只需要在namenode HA配置基础上 ...

  8. Hadoop集群搭建-01前期准备

    Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS  Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...

  9. Hadoop集群搭建-04安装配置HDFS

    Hadoop集群搭建-05安装配置YARN Hadoop集群搭建-04安装配置HDFS  Hadoop集群搭建-03编译安装hadoop Hadoop集群搭建-02安装配置Zookeeper Hado ...

随机推荐

  1. python杂谈:Python中\r的用法示例

    \r 默认表示将输出的内容返回到第一个指针,这样的话,后面的内容会覆盖前面的内容 import sys import time def view_bar(num,total): rate = floa ...

  2. how to show video in website

    how to show video in website old version browsers https://www.computerhope.com/issues/ch000591.htm h ...

  3. .net对Redis集群的调用(FrameWork版本4.0)

    使用 StackExchange.Redis 实现.net对Redis集群的调用,方法如下: 1.打开 项目-管理NuGet程序包 2.在打开界面搜索StackExchange.Redis,找到Sta ...

  4. Class.getResourceAsStream 和 ClassLoder.getResourceAsStream 的区别

    问题描述 最近学习MyBaits时用到了 InputStream Resources.getResourceAsStream(String resource)来读取MyBatis配置文件,为了方便使用 ...

  5. MT【163】运动是相对的

    如图,在平面直角坐标系中,$P(6,8)$,四边形$ABCD$为矩形,$AB=16$,$AD=9$,点$A,B$分别在射线$OP$和$Ox$上,求$OD$的最大值_______            ...

  6. 【BZOJ4242】水壶(克鲁斯卡尔重构树,BFS)

    [BZOJ4242]水壶(克鲁斯卡尔重构树,BFS) 题面 BZOJ然而是权限题. Description JOI君所居住的IOI市以一年四季都十分炎热著称. IOI市是一个被分成纵H*横W块区域的长 ...

  7. 洛谷 P1356 数列的整数性 解题报告

    P1356 数列的整数性 题目描述 对于任意一个整数数列,我们可以在每两个整数中间任意放一个符号'+'或'-',这样就可以构成一个表达式,也就可以计算出表达式的值.比如,现在有一个整数数列:17,5, ...

  8. 开源nginx_lua_waf部署安装

      0x01 前言 ngx_lua_waf实现 WAF一句话描述,就是解析HTTP请求(协议解析模块),规则检测(规则模块),做不同的防御动作(动作模块),并将防御过程(日志模块)记录下来.所以本文中 ...

  9. bzoj2141: 排队(分块+树状数组)

    块套树为什么会这么快.. 先跑出原序列逆序对. 显然交换两个位置$l,r$,对$[1,l),(r,n]$里的数没有影响,所以只需要考虑$[l,r]$内的数. 设$(l,r)$内的数$a_i$,则按以下 ...

  10. 解题:CF825E Minimal Labels

    题面 看起来似乎是个水水的拓扑排序+堆,然而并不对,因为BFS拓扑排序的话每次只会在“当前”的点中排出一个最小/大的字典序,而我们是要一个确定的点的字典序尽量小.正确的做法是反向建图,之后跑一个字典序 ...