注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

mmicky 的博客

追逐刹那的惊艳

 
 
 

日志

 
 

Spark1.0.0 on Standalone 模式部署  

2013-12-31 18:19:50|  分类: spark |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1:Spark1.0.0 Standalone Mode安装
A:部署包生成
首先,通过git下载最新Spark1.0.0-SNAPSHOT源代码,然后切换到源码目录,运行部署包生成程序make-distribution.sh

$ git clone https://github.com/apache/spark.git

$ ./make-distribution.sh --hadoop 2.2.0 --with-yarn --tgz

spark源码根目录下的make-distribution.sh可以带以下参数:
  • --hadoop VERSION:打包时所用的Hadoop版本号,不加参数时为1.0.4。
  • --with-yarn:是否支持Hadoop YARN,不加参数时为不支持yarn。
  • --with-tachyon:是否支持内存文件系统Tachyon,不加参数时为不支持。
  • --tgz:在根目录下生成 spark-$VERSION-bin.tar.gz,不加参数是不生成tgz文件,只生成/dist目录。
  • 注意参数的顺序要按--hadoop VERSION --with-yarn --with-tachyon --tgz的排序来
运行成功后,在根目录下生成名为spark-1.0.0-SNAPSHOT-hadoop_2.2.0-bin.tar.gz的部署包,不过该部署包只带有最基本的Spark运行文件,不包含例程和源代码。如果需要例程和源代码,请使用官方提供的二进制部署包。笔者在百度云盘上提供了spark1.0.0-SNAPHOT的部署包,还提供了支持Tachyon0.4.1的部署包。

B:规划
虚拟机hadoop1(IP地址为192.168.100.171)作为Master
虚拟机hadoop2(IP地址为192.168.100.172)、hadoop3(IP地址为192.168.100.173)、hadoop4(IP地址为192.168.100.174)、hadoop5(IP地址为192.168.100.175)作为slave
由于hadoop1、hadoop2、hadoop3、hadoop4、hadoop5之前已经安装了hadoop2.2.0集群,所以省却了安装JAVA、建立SSH无密码登录过程。当然,Spark集群可以独立于hadoop集群外安装,但是需要安装JAVA、建立SSH无密码登录。关于JAVA安装和建立SSH无密码登录可以参照hadoop2.2.0测试环境搭建。另外,为了避免Spark应用程序要打包scala包(详见Spark1.0.0 多语言编程之Scala实现),在集群的每个节点上安装了scala2.10.4(安装目录/app/scala2104)。

C:在Master上生成安装目录
将生成的spark-1.0.0-SNAPSHOT-hadoop_2.2.0-bin.tar.gz文件复制到Master(即hadoop1)上并解压
[root@hadoop1 hadoop]# tar zxf spark-1.0.0-SNAPSHOT-hadoop_2.2.0-bin.tar.gz
[root@hadoop1 hadoop]# mv spark-1.0.0-SNAPSHOT spark100
[root@hadoop1 hadoop]# cd spark100
[root@hadoop1 spark100]# ls -lsa
Spark1.0.0 Standalone 模式部署 - mmicky - mmicky 的博客
     
D:配置集群文件
[root@hadoop1 spark100]# vi conf/slaves
[root@hadoop1 spark100]# cat conf/slaves 

hadoop2
hadoop3
hadoop4
hadoop5

[root@hadoop1 spark091]# vi conf/spark-env.sh
[root@hadoop1 spark091]# cat conf/spark-env.sh

export SPARK_MASTER_IP=hadoop1
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_MEMORY=1g
export MASTER=spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT}

另外设置一下操作系统的环境变量,然后source一下
[root@hadoop1 spark100]# vi /etc/profile
[root@hadoop1 spark100]# source /etc/profile

export SCALA_HOME=/app/scala2104

export SPARK_HOME=/app/hadoop/spark100

export PATH=$SCALA_HOME/bin:$SPARK_HOME/bin:$PATH


E:派发安装文件到slaves
[root@hadoop1 spark100]# cd ..
[root@hadoop1 hadoop]# chown -R hadoop:hadoop spark100
[root@hadoop1 hadoop]# su - hadoop
[hadoop@hadoop1 ~]$ cd /app/hadoop/
[hadoop@hadoop1 hadoop]$ scp -r spark100 hadoop2:/app/hadoop/
[hadoop@hadoop1 hadoop]$ scp -r spark100 hadoop3:/app/hadoop/
[hadoop@hadoop1 hadoop]$ scp -r spark100 hadoop4:/app/hadoop/
[hadoop@hadoop1 hadoop]$ scp -r spark100 hadoop5:/app/hadoop/

F:启动集群
在Master主机hadoop1上启动spark standalone集群
[hadoop@hadoop1 hadoop]$ cd spark100
[hadoop@hadoop1 spark100]$ sbin/start-all.sh
通过浏览器访问http://hadoop1:8080可以监控spark Standalone集群
Spark的Standalone 模式部署 - mmicky - mmicky 的博客
 
2:关于spark-shell连接到spark Standalone集群
如果要启动spark-shell连接到spark Standalone集群,有两种方法:
a:使用MASTER=spark://hadoop1:7077 bin/spark-shell启动
b:配置conf/spark-env.sh增加以下几行:
export SPARK_MASTER_IP=192.168.1.171
export SPARK_MASTER_PORT=7077
export MASTER=spark://${SPARK_MASTER_IP}:${SPARK_MASTER_PORT}
然后使用使用./spark-shell启动
如果是远程客户端来连接到spark Standalone集群的话,部署目录要和集群的部署目录一致。

3:测试
最好的spark测试程序就是spark-shell了,在本实验standalone集群中,设置了4个节点,每个节点一个worker实例,每个worker实例使用1个core和1G内存。下面将启动2个spark-shell客户端:
  • 一个是运行在standalone集群中的hadoop1,另一个运行在standalone集群外的wyy上。
  • 前者配置了应用程序内存需求参数SPARK_MEM=800m,后者没设置,使用缺省值512M。
  • 最后,两者启动的时候都使用-c参数,各使用2个core,因为整个集群总共4个core,如果不指定-c参数,那么第一个启动的spark-shell将使用所有的空闲的core,第二个spark-shell将无法申请到资源,处于等待状态。
a:在集群中启动spak-shell
[hadoop@hadoop1 spark100]$ bin/spark-shell -c 2
b:在集群外一台ubuntu客户端wyy上启动spak-shell(注意配置文件和集群中的一致),启动前设置SPARK_MEM=800m,以区别上面启动的spark-shell。
hadoop@wyy:/app/hadoop/spark100$ bin/spark-shell -c 2
c:监控spark集群

Spark的Standalone 模式部署 - mmicky - mmicky 的博客
 

  评论这张
 
阅读(2542)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017