Python搭建Spark分布式集群環(huán)境
前言
Apache Spark 是一個新興的大數(shù)據(jù)處理通用引擎,提供了分布式的內(nèi)存抽象。Spark 最大的特點就是快,可比 Hadoop MapReduce 的處理速度快 100 倍。本文沒有使用一臺電腦上構(gòu)建多個虛擬機的方法來模擬集群,而是使用三臺電腦來搭建一個小型分布式集群環(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臺機器(節(jié)點)作為實例來演示如何搭建Spark集群,其中1臺機器(節(jié)點)作為Master節(jié)點,另外兩臺機器(節(jié)點)作為Slave節(jié)點(即作為Worker節(jié)點),主機名分別為Slave01和Slave02。
在Master節(jié)點機器上,訪問Spark官方下載地址,按照如下圖下載。
下載完成后,執(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é)點主機的終端中執(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é)點主機上進行如下操作:
配置slaves文件
將 slaves.template 拷貝到 slaves
cd /usr/local/spark/ cp ./conf/slaves.template ./conf/slaves
slaves文件設(shè)置Worker節(jié)點。編輯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é)點的 IP 地址;
配置好后,將Master主機上的/usr/local/spark文件夾復(fù)制到各個節(jié)點上。在Master主機上執(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é)點上分別執(zhí)行下面同樣的操作:
sudo rm -rf /usr/local/spark/ sudo tar -zxf ~/spark.master.tar.gz -C /usr/local sudo chown -R hadoop /usr/local/spark
啟動Spark集群
啟動Hadoop集群
啟動Spark集群前,要先啟動Hadoop集群。在Master節(jié)點主機上運行如下命令:
cd /usr/local/hadoop/ sbin/start-all.sh
啟動Spark集群
1.啟動Master節(jié)點
在Master節(jié)點主機上運行如下命令:
cd /usr/local/spark/ sbin/start-master.sh
在Master節(jié)點上運行jps命令,可以看到多了個Master進程:
15093 Jps 14343 SecondaryNameNode 14121 NameNode 14891 Master 14509 ResourceManager
2.啟動所有Slave節(jié)點
在Master節(jié)點主機上運行如下命令:
sbin/start-slaves.sh
分別在slave01、slave02節(jié)點上運行jps命令,可以看到多了個Worker進程
37553 DataNode 37684 NodeManager 37876 Worker 37924 Jps
3.在瀏覽器上查看Spark獨立集群管理器的集群信息
在master主機上打開瀏覽器,訪問http://master:8080,如下圖:
關(guān)閉Spark集群
1.關(guān)閉Master節(jié)點
sbin/stop-master.sh
2.關(guān)閉Worker節(jié)點
sbin/stop-slaves.sh
3.關(guān)閉Hadoop集群
cd /usr/local/hadoop/ sbin/stop-all.sh
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在Pycharm中設(shè)置默認(rèn)自動換行的方法
今天小編就為大家分享一篇在Pycharm中設(shè)置默認(rèn)自動換行的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python著名游戲?qū)崙?zhàn)之方塊連接 我的世界
讀萬卷書不如行萬里路,學(xué)的扎不扎實要通過實戰(zhàn)才能看出來,本篇文章手把手帶你模仿著名游戲——我的世界,大家可以在過程中查缺補漏,看看自己掌握程度怎么樣2021-10-10python2.7安裝opencv-python很慢且總是失敗問題
這篇文章主要介紹了python2.7安裝opencv-python很慢且總是失敗問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02Python wxPython庫消息對話框MessageDialog用法示例
這篇文章主要介紹了Python wxPython庫消息對話框MessageDialog用法,結(jié)合實例形式簡單分析了wxPython庫的基本事件與相關(guān)使用技巧,需要的朋友可以參考下2018-09-09python實現(xiàn)web應(yīng)用框架之增加動態(tài)路由
這篇文章主要介紹web應(yīng)用框架如何添加動態(tài)路由,在我們編寫的框架中,我們添加動態(tài)路由,是使用了正則表達式,同時在注冊的時候,需要注明該路由是請求路由,文中有詳細(xì)的代碼示例,需要的朋友可以參考下2023-05-05python return邏輯判斷表達式實現(xiàn)解析
這篇文章主要介紹了python return邏輯判斷表達式實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12