Apache Spark-1.0.1集群搭建

发布时间:2019-05-12 | 分类:Spark

标签: spark

 

   欢迎经验交流!本文Blog地址:http://www.cnblogs.com/fesh/p/3866791.html

  Apache Spark   a fast and general engine for large-scale data processing

  Spark是一个高效的分布式计算系统,相比Hadoop,它在性能上比Hadoop要高100倍。Spark是发源于美国加州大学伯克利分校AMPLab的集群计算平台,它克服了MapReduce在迭代式计算和交互式计算方面的不足,通过引入RDD(Resilient Distributed Datasets)数据表示模型,能够很好地解决MapReduce不易解决的问题。相比于MapReduce,Spark能够充分利用内存资源提高计算效率。

一、基本环境

包含三个节点:

master(Ubuntu Desktop版本) 192.168.145.128

slave1(Ubuntu Server版本)    192.168.145.129

slave2(Ubuntu Server版本)    192.168.145.130

 

操作系统:Ubuntu14.04 x64

JDK版本:jdk1.8.0_11 

Hadoop版本:Hadoop-2.2.0  

Scala版本:2.10.4(官网要求2.10.X)

Spark版本:1.0.1

取得《Spark-1.0.1 的make-distribution.sh编译、SBT编译、Maven编译 三种编译方法》中编译好的 spark-1.0.1-bin-2.2.0.tgz

Hadoop-2.2.0集群的安装见http://www.cnblogs.com/fesh/p/3766656.html

Scala的安装见 http://www.cnblogs.com/fesh/p/3805611.html   

注:Scala在master节点上安装好后,直接用scp命令分发到slave1、slave2,并在slave1和slave2配置环境变量即可)

在master节点和slave1节点分别配置/etc/hosts和/etc/hostname:(下面这些应该在安装Hadoop集群时已经配置好了

/etc/hosts

192.168.145.128 master
192.168.145.129 slave1
192.168.145.130 slave2

/etc/hostname  (master)

master

/etc/hostname  (slave1)

slave1

/etc/hostname  (slave2)

slave2

二、Spark配置

1、master节点文件配置

在master节点

解压spark-1.0.1-bin-2.2.0.tgz

tar -zxvf spark-1.0.1-bin-2.2.0.tgz

在/etc/profile中配置环境变量

#Set SPARK_HOME
export SPARK_HOME=/home/fesh/spark-1.0.1-bin-2.2.0
export PATH=$PATH:$SPARK_HOME/bin

在spark-1.0.1-bin-2.2.0/conf下配置文件spark-env.sh和slaves:

cp spark-env.sh.template spark-env.sh
sudo gedit spark-env.sh

在文件spark-env.sh末尾添加:

export HADOOP_CONF_DIR=/home/fesh/hadoop-2.2.0/etc/hadoop
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_11
export SCALA_HOME=/home/fesh/scala-2.10.4
export SPARK_MASTER_IP=master
export SPARK_WORKER_MEMORY=512M
export SPARK_EXECUTOR_MEMORY=512M

export SPARK_EXECUTOR_INSTANCES=2   (下面这几项可以不配置,采用默认就可以了)
export SPARK_EXECUTOR_CORES=1
export SPARK_DRIVER_MEMORY=512M
export SPARK_YARN_APP_NAME="spark 1.0.1"

在文件slaves中去掉localhohst并设置

master
slave1
slave2

2、分发文件

分发spark-1.0.1-bin-2.2.0文件到slave1节点

scp -r spark-1.0.1-bin-2.2.0 slave1:~/

分发spark-1.0.1-bin-2.2.0文件到slave2节点

scp -r spark-1.0.1-bin-2.2.0 slave2:~/

三、启动Spark集群

首先启动Hadoop-2.2.0集群,然后在spark-1.0.1-bin-2.2.0根目录下启动Spark集群

sbin/start-all.sh

对于slave1节点

 对于slave2节点

四、查看信息

1、进入Spark集群的Web页面

在master节点上,浏览器访问: http://master:8080

 

2、控制台查看

进入{SPARK_HOME}/bin目录,使用 spark-shell 控制台

3、Web查看SparkUI

在master节点,浏览器进入 http://master:4040

五、停止Spark集群

sbin/stop-all.sh

参考:

1、http://spark.apache.org/docs/latest/running-on-yarn.html

2、http://spark.apache.org/docs/latest/configuration.html

 

java编程学习网专注于java编程技术分享