Spark集群部署 – zhangwx的专栏 – 博客频道 – CSDN.NET

Spark 集群

集群环境

基于hadoop集群64bithadoop2.5.1jdk1.7

CentOS 6.4下安装配置Spark-0.9集群

 

Spark是一个快速、通用的计算集群框架,它的内核使用Scala语言编写,它提供了ScalaJavaPython编程语言high-level

API,使用这些API能够非常容易地开发并行处理的应用程序。

下面,我们通过搭建Spark集群计算环境,并进行简单地验证,来体验一下使用Spark计算的特点。无论从安装运行环境还是从编写处理程序(用ScalaSpark默认提供的Shell环境可以直接输入Scala代码进行数据处理),我们都会觉得比Hadoop

MapReduce计算框架要简单得多,而且,Spark可以很好地与HDFS进行交互(从HDFS读取数据,以及写数据到HDFS中)。

安装配置

下载安装配置Scala

 

1.   到Scala 官方网站下载,我使用的版本为scala-2.11.4.tgz

2.   解压:tar –zvxf scala-2.11.4 –C /usr/local/program/scala/

etc/profile中增加环境变量SCALA_HOME,并使之生效:

 export SCALA_HOME=/usr/local/program/scala/ scala-2.11.4</p><p> </p><p> export PATH=$PATH:$SCALA_HOME/bin</p><p> </p><p>

 

下载安装配置Spark

我们首先在主节点m1上配置Spark程序,然后将配置好的程序文件复制分发到集群的各个从结点上。下载解压缩:

到apache官网下载,我使用的版本为:<b style="color:black;background-color:#ffff66">spark</b>-1.1.0-bin-hadoop2.4.tgz</p><p> tar –zvxf <b style="color:black;background-color:#ffff66">spark</b>-1.1.0-bin-hadoop2.4.tgz  –C /usr/local/program/<b style="color:black;background-color:#ffff66">spark</b>/ </p><p> </p><p>

etc/profile中增加环境变量SPARK_HOME,并使之生效:

 </p><p> export <b style="color:black;background-color:#ffff66">SPARK</b>_HOME=/usr/local/program/<b style="color:black;background-color:#ffff66">spark</b>/<b style="color:black;background-color:#ffff66">spark</b>-1.1.0-bin-hadoop2.4</p><p> </p><p> export PATH=$PATH:$<b style="color:black;background-color:#ffff66">SPARK</b>_HOME/bin:$<b style="color:black;background-color:#ffff66">SPARK</b>_HOME/sbin</p><p> </p><p>

m1上配置Spark,修改spark-env.sh配置文件:

进入<b style="color:black;background-color:#ffff66">spark</b>的conf目录  </p><p>执行 cp <b style="color:black;background-color:#ffff66">spark</b>-env.sh.template <b style="color:black;background-color:#ffff66">spark</b>-env.sh</p><p> vi  <b style="color:black;background-color:#ffff66">spark</b>-env.sh </p><p>  </p><p> </p><p>

在该脚本文件中,同时将SCALA_HOMEJAVA_HOME配置为Unix环境下实际指向路径,例如:

 

 export SCALA_HOME=/usr/local/program/scala/scala-2.11.4</p><p> </p><p> expor JAVA_HOME=/usr/local/program/jdk1.7</p><p>export HADOOP_HOME=/usr/local/program/hadoop-2.5.1</p><p>export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop-2.5.1</p><p>export <b style="color:black;background-color:#ffff66">SPARK</b>_JAR=/usr/local/program/<b style="color:black;background-color:#ffff66">spark</b>/<b style="color:black;background-color:#ffff66">spark</b>-1.1.0-bin-hadoop2.4/lib/<b style="color:black;background-color:#ffff66">spark</b>-assembly-1.1.0-hadoop2.4.0.jar</p><p> </p><p>

修改conf/slaves文件,将计算节点的主机名添加到该文件,一行一个,例如:

 s1</p><p> </p><p> s2</p><p> </p><p>

 

最后,将profilescalaSpark的程序文件和配置文件拷贝分发到从节点机器上:

1.  scp –r /etc/profile  s1:/etc/</p><p>然后在各节点执行source /etc/profile</p><p>2.  scp –r scala  s1:/usr/local/program/</p><p>3.  scp –r <b style="color:black;background-color:#ffff66">spark</b>  s1:/usr/local/program/</p><p>(同时也复制到s2机器上)</p><p>

 

启动Spark集群

我们会使用HDFS集群上存储的数据作为计算的输入,所以首先要把Hadoop集群安装配置好,并成功启动,我这里使用的是Hadoop

2.5.1版本。启动Spark计算集群非常简单,执行如下命令即可:

配置好环境变量后直接可执行(spark sbin下的脚本文件):

启动主节点(Master): start-master.sh</p><p>启动从节点(Slaves): start-slaves.sh</p><p>

可以看到,在m1上启动了一个名称为Master的进程,在s1s2上启动了一个名称为Worker的进程,如下所示,我这里也启动了Hadoop集群

可以通过web端口访问spark 界面默认8080端口

http://192.168.0.108:8080/

 

参考:http://shiyanjun.cn/archives/696.html

来源URL:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c4224609022ce0b02c221304d0c2613441e9120db4a72b24604573ecc589954cdeb1922b2c8e22203541c6171d925bfc8b1f32c050872ae9b86993ad814184dad0&p=8b2a970796821cff57ed977e17579c&newp=84759a45d5c310fa40f7c7710f42c4231610db2151d4d7152e818b52&user=baidu&fm=sc&query=spark%B2%BF%CA%F0&qid=9887b04e00000aa4&p1=1