《Spark Cookbook 中文版》一1.2 使用二进制文件安装Spark

    xiaoxiao2024-01-16  172

    本节书摘来异步社区《Spark Cookbook 中文版》一书中的第1章,第1.2节,作者: 【印度】Rishi Yadav(亚达夫)译者: 顾星竹 , 刘见康 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    1.2 使用二进制文件安装Spark

    Spark既可以通过源码安装也可以通过预编译二进制安装,下载地址为http://spark.apache.org。对于标准使用场景来说,二进制安装已经足够了,这里将主要介绍通过二进制文件安装Spark。

    1.2.1 准备工作

    本书的所有教程都是适用于Ubuntu Linux系统的,不过应该也适用于任何POSIX环境。在安装Spark之前,首先需要安装好Java,并且配置好JAVA_HOME环境变量。

    在Linux/Unix系统中,文件和目录的位置是有特定标准的,本书中也同样遵从这些标准,表1-1是一张速查表。

    1.2.2 具体步骤

    在写作本书时,Spark的当前版本是1.4。请从Spark下载页面http://spark.apache.org/downloads.html查阅最新版本。二进制安装包是使用最新最稳定的Hadoop版本。如果想使用特定的Hadoop版本,推荐使用源码构建,具体请参考下一份教程。

    安装步骤如下所示。

    1.打开终端,使用如下命令下载二进制安装包。

    $ wget http://d3kbcqa49mib13.cloudfront.net/spark-1.4.0-bin- hadoop2.4.tgz

    2.解压二进制安装包。

    $ tar -zxf spark-1.4.0-bin-hadoop2.4.tgz

    3.重命名包含二进制安装包的文件夹,去除版本信息。

    $ sudo mv spark-1.4.0-bin-hadoop2.4 spark

    4.把配置文件夹移动到/etc文件夹下,以便之后制作软链接。

    $ sudo mv spark/conf/* /etc/spark

    5.在/opt目录下新建一个公司名限定的安装目录。本书的本篇教程是使用infoobjects沙盒测试的,所以我们就用infoobjects做目录名。创建目录/opt/infoobjects。

    $ sudo mkdir -p /opt/infoobjects

    6.把spark目录移动到/opt/infoobjects,因为spark是一个附加软件包。

    $ sudo mv spark /opt/infoobjects/

    7.设置root为spark主目录的权限用户。

    $ sudo chown -R root:root /opt/infoobjects/spark

    8.修改spark主目录的权限,0755意味着主用户将拥有读写和执行权限,而群用户和其他用户拥有读和执行权限。

    $ sudo chmod -R 755 /opt/infoobjects/spark

    9.进入spark主目录。

    $ cd /opt/infoobjects/spark

    10.创建软链接。

    $ sudo ln -s /etc/spark conf

    11.在.bashrc文件中添加到PATH变量。

    $ echo "export PATH=$PATH:/opt/infoobjects/spark/bin" >> /home/ hduser/.bashrc

    12.打开一个新终端。

    13.在/var目录下创建log目录。

    $ sudo mkdir -p /var/log/spark

    14.设置hduser为Spark log目录的权限用户

    $ sudo chown -R hduser:hduser /var/log/spark

    15.创建Spark tmp目录。

    $ mkdir /tmp/spark

    16.在以下命令的帮助下配置Spark。

    $ cd /etc/spark $ echo "export HADOOP_CONF_DIR=/opt/infoobjects/hadoop/etc/hadoop" >> spark-env.sh $ echo "export YARN_CONF_DIR=/opt/infoobjects/hadoop/etc/Hadoop" >> spark-env.sh $ echo "export SPARK_LOG_DIR=/var/log/spark" >> spark-env.sh $ echo "export SPARK_WORKER_DIR=/tmp/spark" >> spark-env.sh
    最新回复(0)