Spark内核设计的艺术:架构设计与实现
上QQ阅读APP看书,第一时间看更新

1.1 运行环境准备

考虑到大部分公司开发和生产环境都采用Linux操作系统,所以笔者选用了64位的Linux。在正式安装Spark之前,先要找台好机器。为什么?因为笔者在安装、编译、调试的过程中发现Spark非常耗费内存,如果机器配置太低,恐怕会运行不起来。Spark的开发语言是Scala,而Scala需要运行在JVM之上,因而搭建Spark的运行环境应该包括JDK和Scala。

1.1.1 安装JDK

自Spark 2.0.0版本开始,Spark已经放弃了对Java 7的支持,所以需要选择Java 8。我们还需要使用命令getconf LONG_BIT查看Linux机器是32位还是64位,然后下载相应版本的JDK并安装。

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

配置环境:

    cd ~
    vim .bash_profile

添加如下配置:

    export JAVA_HOME=/opt/java
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

输入以下命令使环境变量快速生效:

    source .bash_profile

安装完毕后,使用java -version命令查看,确认安装正常,如图1-1所示。

图1-1 查看java安装是否正常

1.1.2 安装Scala

由于从Spark 2.0.0开始,Spark默认使用Scala 2.11来编译、打包,不再是以前的Scala 2.10,所以我们需要下载Scala 2.11。

下载地址:http://www.scala-lang.org/download/

选择Scala 2.11的版本进行下载,下载方法如下:

    wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz

移动到选好的安装目录,例如:

    mv scala-2.11.8.tgz ~/install/

进入安装目录,执行以下命令:

    chmod 755 scala-2.11.8.tgz
    tar -xzvf scala-2.11.8.tgz

配置环境:

    cd ~
    vim .bash_profile

添加如下配置:

    export SCALA_HOME=$HOME/install/scala-2.11.8
    export PATH=$SCALA_HOME/bin:$PATH

输入以下命令使环境变量快速生效:

    source .bash_profile

安装完毕后键入scala,进入scala命令行,以确认安装正常,如图1-2所示。

图1-2 进入Scala命令行

1.1.3 安装Spark

Spark进入2.0时代之后,目前一共有两个大的版本:一个是Spark 2.0.0,一个是Spark 2.1.0。本书选择Spark 2.1.0。

下载地址:http://spark.apache.org/downloads.html

下载方法如下:

    wget http://d3kbcqa49mib13.cloudfront.net/spark-2.1.0-bin-hadoop2.6.tgz

移动到选好的安装目录,例如:

    mv spark-2.1.0-bin-hadoop2.6.tgz ~/install/

进入安装目录,执行以下命令:

    chmod 755 spark-2.1.0-bin-hadoop2.6.tgz
    tar -xzvf spark-2.1.0-bin-hadoop2.6.tgz

配置环境:

    cd ~
    vim .bash_profile

添加如下配置:

    export SPARK_HOME=$HOME/install/spark-2.1.0-bin-hadoop2.6
    export PATH=$SPARK_HOME/bin:$PATH

输入以下命令,使环境变量快速生效:

    source .bash_profile

安装完毕后键入spark-shell,进入scala命令行,以确认安装正常,如图1-3所示。

图1-3 执行spark-shell进入Scala命令行