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集羣

好了,搭建過程就此結束了~是不是感覺很容易呢?

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