hege 发表于 2015-7-31 12:26:25

Apache Spark-1.0.1集群搭建

  
  欢迎经验交流!本文Blog地址:http://www.iyunv.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.iyunv.com/fesh/p/3766656.html
  Scala的安装见 http://www.iyunv.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
  
页: [1]
查看完整版本: Apache Spark-1.0.1集群搭建