Linux虚拟机上spark集群(完全分布式)搭建

本文选自微信公众号:superdiao的果壳

 

今天给大家介绍如何在Linux虚拟机上搭建spark集群。

需要声明的是,此次安装的spark集群是在Hadoop完全分布式集群(1个master,2个slave)的基础之上搭建的,环境是3台64位的centos7虚拟机。

 

安装基础环境(SCALA环境)

Scala2.12.7 环境搭建

1)下载scala安装包scala-2.12.7.tgz,解压至 /opt/ 目录下

tar -zxvf scala-2.12.7.tgz

2)添加Scala环境变量,在~/.bashrc(当前用户下存放的环境变量)中添加:

export SCALA_HOME=/opt/scala-2.12.7
export PATH=$SCALA_HOME/bin:$PATH

3)保存后刷新配置

source  ~/.bashrc

 

Spark2.4.0完全分布式环境搭建

以下操作都在Master节点进行。

1)下载二进制包spark-2.4.0-bin-hadoop2.7.tgz(如果Hadoop的版本是2.8.5也不必担心,两者可以很好地兼容)

2)解压并移动到相应目录,命令如下:

tar -zxvf spark-2.4.0-bin-hadoop2.7.tgz
mv spark-2.4.0-bin-hadoop2.7 /opt

3)修改相应的配置文件。

修改 ~/.bashrc,增加如下内容:

export SPARK_HOME=/opt/spark-2.4.0-bin-hadoop2.7/
export PATH=$PATH:$SPARK_HOME/bin

进入/opt/spark-2.4.0-bin-hadoop2.7/conf

复制 spark-env.sh.template 成 spark-env.sh

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

修改$SPARK_HOME/conf/spark-env.sh,添加如下内容:

export JAVA_HOME=/opt/jdk1.8.0_102
export SCALA_HOME=/opt/scala-2.12.7
export HADOOP_HOME=/opt/hadoop-2.8.5
export HADOOP_CONF_DIR=/opt/hadoop-2.8.5/etc/hadoop
export SPARK_MASTER_IP=192.168.38.129 #主机master的ip地址
export SPARK_MASTER_HOST=192.168.38.129
export SPARK_LOCAL_IP=192.168.38.129
export SPARK_WORKER_MEMORY=2g #运行内存,视情况而变
export SPARK_WORKER_CORES=2 #两个slave
export SPARK_HOME=/opt/spark-2.4.0-bin-hadoop2.7
export SPARK_DIST_CLASSPATH=$(/opt/hadoop-2.8.5/bin/hadoop classpath)

复制$SPARK_HOME/conf/slaves目录下的slaves.template成slaves

cp slaves.template slaves

然后添加如下内容:

master
slave1
slave2

4)将配置好的spark文件复制到Slave1和Slave2节点。

scp /opt/spark-2.4.0-bin-hadoop2.7 root@slave1:/opt
scp /opt/spark-2.4.0-bin-hadoop2.7 root@slave2:/opt

5)修改Slave1和Slave2配置。

scp ~/.bashrc root@slave1:/root/
scp ~/.bashrc root@slave2:/root/

在Slave1和Slave2修改$SPARK_HOME/conf/spark-env.sh,将export SPARK_LOCAL_IP =192.168.38.129改成Slave1和Slave2对应节点的IP,然后再source一下环境变量。

6)在Master节点启动集群。

#为了避免冲突和更加直观,可以先改下脚本的名字。

cp /opt/spark-2.4.0-bin-hadoop2.7/sbin/start-all.sh /opt/spark-2.4.0-bin-hadoop2.7/sbin/start-spark.sh
start-spark.sh #因为该脚本的父目录已经在环境变量中了,所以可以直接运行。

7)查看集群是否启动成功:

jps

Master在Hadoop的基础上新增了:Master

Slave在Hadoop的基础上新增了:Worker

8) 停止spark集群

#为了避免和Hadoop的脚本名字冲突和更加直观,可以先改下脚本的名字。

cp /opt/spark-2.4.0-bin-hadoop2.7/sbin/stop-all.sh /opt/spark-2.4.0-bin-hadoop2.7/sbin/stop-spark.sh
stop-spark.sh #当然以后可以直接运行start-spark.sh来启动spark集群

好了,搭建过程就此结束了~是不是感觉很容易呢?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章