CentOS Linux中搭建Hadoop和Spark集群详解(5)

Spark的安装跟hadoop(包括yarn)是相对独立的,即使是需要以spark-on-yarn模式运行Spark程序。Spark和hadoop的关系,不像hadoop和jdk之间的关系那样——安装hadoop之前必须配置好jdk,但安装Spark之前并不必须得先安装hadoop。

Spark和hadoop的关系,更像是你和楼下饭店的关系,当你自己做饭吃的时候,楼下饭店存不存在是与你无关的;只有当你不自己做饭了,你才需要楼下有家饭店。拿Spark来说,就是:如果只是需要以local或者standalone模式运行Spark程序,那么集群中有没有安装hadoop都无关紧要;只有当Spark程序需要以spark-on-yarn模式运行或者需要读取hdfs中的文件时,它才需要hadoop的存在。所以如果没有以spark-on-yarn模式运行spark程序的需求的话,可以不安装第2步中的hadoop环境,不过第1步的基础环境还是需要配置的。——这是我初学Spark时一直迷糊的一个点,希望这里说明清楚了。

3.1安装Scala

关于安装Spark之前要不要安装scala?其实我也不确定。有教程说不用安装,因为Spark安装包中自带scala了。也有的教程说需要先安装scala。

对于我来说,首先因为安装scala也没多难,其次后期我还要用scala来开发Spark程序,所以也就安装了。

不管怎样,安装步骤如下。

3.1.1root用户解压scala安装包到/usr/local目录下hadoop1上操作

命令:

cd /data/soft
tar -xvf scala-2.11.8.tgz  -C  /usr/local/

3.1.2将解压后的scala目录拷贝到hadoop2hadoop3hadoop1上操作

命令:

scp -r /usr/local/scala-2.11.8 root@hadoop2:/usr/local/
scp -r /usr/local/scala-2.11.8 root@hadoop3:/usr/local/

3.1.3分别在三台虚拟机上修改环境变量:

命令:

vi /etc/profile

加入如下内容

export SCALA_HOME=/usr/local/scala-2.11.8
export PATH=$PATH:$SCALA_HOME/bin

如下:

CentOS Linux中搭建Hadoop和Spark集群详解

3.1.4使修改的环境变量生效

命令:

source  /etc/profile

接着用which scala命令查看scala的安装目录是不是我们想要的

3.1.5测试是否安装成功

命令:

scala

或者

scala -version

CentOS Linux中搭建Hadoop和Spark集群详解

3.2安装Spark(hadoop1上操作)

3.2.1解压spark安装包到/usr/local/目录下

命令:

cd /data/soft

tar -xvf spark-2.2.0-bin-hadoop2.6.tgz -C /usr/local/

3.2.2参数配置

3.2.2.1配置slaves

命令:

cd  /usr/local/spark-2.2.0-bin-hadoop2.6/conf
cp slaves.template slaves

vim slaves

写入如下内容

hadoop2
hadoop3

如下:

3.2.2.2配置spark-env.sh

命令:

cp spark-env.sh.template spark-env.sh
vi spark-env.sh

在文件中加入以下内容:

export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop-2.6.5
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_MASTER_HOST=hadoop1
export SPARK_MASTER_PORT=7077

如下:

CentOS Linux中搭建Hadoop和Spark集群详解

注:

  1) JAVA_HOME是一定要配置的

  2) 配置HADOOP_HOME和HADOOP_CONF_DIR是因为,之后我需要以spark-on-yarn模式运行spark程序,配置HADOOP_CONF_DIR才能使得spark可以找到正确的hadoop环境,否则每次以spark-on-yarn模式运行spark程序时都需要手动export HADOOP_CONF_DIR=xxxxx才行。如果只想以local或standalone模式运行spark程序,则这两项可以不配置。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/3c6d96deb6dfb4199c7c364ecc98110c.html