溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python搭建Spark分布式集群環(huán)境

發(fā)布時(shí)間:2020-09-07 19:17:14 來源:腳本之家 閱讀:184 作者:E-iceblue 欄目:開發(fā)技術(shù)

前言

Apache Spark 是一個(gè)新興的大數(shù)據(jù)處理通用引擎,提供了分布式的內(nèi)存抽象。Spark 最大的特點(diǎn)就是快,可比 Hadoop MapReduce 的處理速度快 100 倍。本文沒有使用一臺(tái)電腦上構(gòu)建多個(gè)虛擬機(jī)的方法來模擬集群,而是使用三臺(tái)電腦來搭建一個(gè)小型分布式集群環(huán)境安裝。

本教程采用Spark2.0以上版本(比如Spark2.0.2、Spark2.1.0等)搭建集群,同樣適用于搭建Spark1.6.2集群。

安裝Hadoop并搭建好Hadoop集群環(huán)境

Spark分布式集群的安裝環(huán)境,需要事先配置好Hadoop的分布式集群環(huán)境。

安裝Spark

這里采用3臺(tái)機(jī)器(節(jié)點(diǎn))作為實(shí)例來演示如何搭建Spark集群,其中1臺(tái)機(jī)器(節(jié)點(diǎn))作為Master節(jié)點(diǎn),另外兩臺(tái)機(jī)器(節(jié)點(diǎn))作為Slave節(jié)點(diǎn)(即作為Worker節(jié)點(diǎn)),主機(jī)名分別為Slave01和Slave02。

在Master節(jié)點(diǎn)機(jī)器上,訪問Spark官方下載地址,按照如下圖下載。

Python搭建Spark分布式集群環(huán)境

下載完成后,執(zhí)行如下命令:

sudo tar -zxf ~/下載/spark-2.0.2-bin-without-hadoop.tgz -C /usr/local/
cd /usr/local
sudo mv ./spark-2.0.2-bin-without-hadoop/ ./spark
sudo chown -R hadoop ./spark

配置環(huán)境變量

在Mster節(jié)點(diǎn)主機(jī)的終端中執(zhí)行如下命令:

vim ~/.bashrc

在.bashrc添加如下配置:

export SPARK_HOME=/usr/local/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

執(zhí)行如下命令使得配置立即生效:

source ~/.bashrc

Spark配置

在Master節(jié)點(diǎn)主機(jī)上進(jìn)行如下操作:

配置slaves文件

將 slaves.template 拷貝到 slaves

cd /usr/local/spark/
cp ./conf/slaves.template ./conf/slaves

slaves文件設(shè)置Worker節(jié)點(diǎn)。編輯slaves內(nèi)容,把默認(rèn)內(nèi)容localhost替換成如下內(nèi)容:

slave01
slave02

配置spark-env.sh文件

將 spark-env.sh.template 拷貝到 spark-env.sh

cp ./conf/spark-env.sh.template ./conf/spark-env.sh

編輯spark-env.sh,添加如下內(nèi)容:

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
export SPARK_MASTER_IP=192.168.1.104

SPARK_MASTER_IP 指定 Spark 集群 Master 節(jié)點(diǎn)的 IP 地址;

配置好后,將Master主機(jī)上的/usr/local/spark文件夾復(fù)制到各個(gè)節(jié)點(diǎn)上。在Master主機(jī)上執(zhí)行如下命令:

cd /usr/local/
tar -zcf ~/spark.master.tar.gz ./spark
cd ~
scp ./spark.master.tar.gz slave01:/home/hadoop
scp ./spark.master.tar.gz slave02:/home/hadoop

在slave01,slave02節(jié)點(diǎn)上分別執(zhí)行下面同樣的操作:

sudo rm -rf /usr/local/spark/
sudo tar -zxf ~/spark.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/spark

啟動(dòng)Spark集群

啟動(dòng)Hadoop集群

啟動(dòng)Spark集群前,要先啟動(dòng)Hadoop集群。在Master節(jié)點(diǎn)主機(jī)上運(yùn)行如下命令:

cd /usr/local/hadoop/
sbin/start-all.sh

啟動(dòng)Spark集群

1.啟動(dòng)Master節(jié)點(diǎn)

在Master節(jié)點(diǎn)主機(jī)上運(yùn)行如下命令:

cd /usr/local/spark/
sbin/start-master.sh

在Master節(jié)點(diǎn)上運(yùn)行jps命令,可以看到多了個(gè)Master進(jìn)程:

15093 Jps
14343 SecondaryNameNode
14121 NameNode
14891 Master
14509 ResourceManager

2.啟動(dòng)所有Slave節(jié)點(diǎn)

在Master節(jié)點(diǎn)主機(jī)上運(yùn)行如下命令:

sbin/start-slaves.sh

分別在slave01、slave02節(jié)點(diǎn)上運(yùn)行jps命令,可以看到多了個(gè)Worker進(jìn)程

37553 DataNode
37684 NodeManager
37876 Worker
37924 Jps

3.在瀏覽器上查看Spark獨(dú)立集群管理器的集群信息

在master主機(jī)上打開瀏覽器,訪問http://master:8080,如下圖:

Python搭建Spark分布式集群環(huán)境

關(guān)閉Spark集群

1.關(guān)閉Master節(jié)點(diǎn)

sbin/stop-master.sh

2.關(guān)閉Worker節(jié)點(diǎn)

sbin/stop-slaves.sh

3.關(guān)閉Hadoop集群

cd /usr/local/hadoop/
sbin/stop-all.sh

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI