溫馨提示×

溫馨提示×

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

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

如何進(jìn)行Twitter Storm 系統(tǒng)集群搭建

發(fā)布時(shí)間:2021-11-02 16:20:53 來源:億速云 閱讀:188 作者:柒染 欄目:系統(tǒng)運(yùn)維

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何進(jìn)行Twitter Storm 系統(tǒng)集群搭建,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Storm是什么

Storm是Twitter開源的一個(gè)分布式的實(shí)時(shí)計(jì)算系統(tǒng)

使用場景:

數(shù)據(jù)的實(shí)時(shí)分析、持續(xù)計(jì)算、分布式RPC等等。

Storm特點(diǎn)(Storm類似手扶電梯,不出故障就會(huì)一直運(yùn)行,hadoop類似升降電梯,到達(dá)一定程度會(huì)停止。):

  • 分布式

  • 可擴(kuò)展

  • 高可靠性

  • 編程模型簡單

  • 高效實(shí)時(shí)

常用的類:

  • BaseRichSpout(消息生產(chǎn)者)

  • BaseBasicBolt(消息處理者)

  • TopologyBuilder(拓?fù)涞臉?gòu)建器)

  • Config(配置)

  • StormSubmitter/LocalCluster(拓?fù)涮峤黄?

Storm集群部署

Storm集群架構(gòu):

如圖:

如何進(jìn)行Twitter Storm 系統(tǒng)集群搭建

在Storm的集群里面有兩種節(jié)點(diǎn):控制節(jié)點(diǎn)和工作節(jié)點(diǎn)。

控制節(jié)點(diǎn)上面運(yùn)行一個(gè)叫Nimbus進(jìn)程,Nimbus負(fù)責(zé)在集群里面

分發(fā)代碼,分配計(jì)算任務(wù),并且監(jiān)控狀態(tài)。

每一個(gè)工作節(jié)點(diǎn)上面運(yùn)行一個(gè)叫做Supervisor進(jìn)程。

Supervisor負(fù)責(zé)監(jiān)聽從Nimbus分配給它執(zhí)行的任務(wù),據(jù)此啟動(dòng)或停止執(zhí)行任務(wù)的工作進(jìn)程。

Nimbus和Supervisor之間的所有協(xié)調(diào)工作都是通過Zookeeper集群完成。

集群規(guī)劃:(根據(jù)具體需求規(guī)劃)

linux主機(jī)名    Storm角色    Zookeeper
master         Nimubus      單節(jié)點(diǎn)zk
slave01        Supervisor
slave02        Supervisor

準(zhǔn)備工作:

環(huán)境:centos6.4

軟件:

jzmq-master
storm-0.8.2
zeromq-2.1.7
zookeeper-3.4.5

環(huán)境配置:(參見前幾篇博客)

Linux基本配置:

  • 修改主機(jī)名

  • 修改IP

  • 修改主機(jī)和IP的映射關(guān)系

  • 關(guān)閉防火墻

安裝步驟:

1.安裝jdk

2.搭建Zookeeper集群(這里我們只安裝一個(gè)zk在主節(jié)點(diǎn)上)

  • 解壓

進(jìn)入zk的conf目錄下,cp zoo_sample.cfg zoo.cfg(修改一下名字),其它的暫時(shí)都不變

3.安裝Storm依賴(zeromq、jzmq、python)

3.1安裝zeromq,然后進(jìn)入到zeromq-2.1.7/目錄下

檢測環(huán)境:./configure
cd zeromq-2.1.7
./configure

#編譯可能會(huì)出錯(cuò):

configure: error: Unable to find a working C++ compiler

#安裝一下依賴的rpm包:

libstdc++-devel gcc-c++

虛擬機(jī)可以上網(wǎng)的情況下:(建議使用此方法)

yum install gcc-c++

虛擬機(jī)不能上網(wǎng)情況:

首先到http://mirrors.163.com/centos/6.4/os/x86_64/Packages/(下載的版本一定要和系統(tǒng)對應(yīng))

rpm -i libstdc++-devel-4.4.7-3.el6.x86_64.rpm
rpm -i gcc-c++-4.4.7-3.el6.x86_64.rpm
rpm -i libuuid-devel-2.17.2-12.9.el6.x86_64.rpm

然后運(yùn)行./configure

make(編譯)

make install(這個(gè)才徹底安裝)

3.2.編譯安裝JZMQ:

cd jzmq

執(zhí)行./autogen.sh(是為了讓它產(chǎn)生配置文件,默認(rèn)沒有配置文件的),

#報(bào)錯(cuò):autogen.sh: error: could not find libtool.
libtool is required to run autogen.sh.
缺少libtool

同樣,可上網(wǎng)情況下:

yum install libtool(readhat企業(yè)版不會(huì)出現(xiàn)這些報(bào)錯(cuò))

或者手動(dòng)安裝:

rpm -i autoconf-2.63-5.1.el6.noarch.rpm
rpm -i automake-1.11.1-4.el6.noarch.rpm
rpm -i libtool-2.2.6-15.5.el6.x86_64.rpm
./configure
make
make install

3.33.編譯安裝Python(先確定你系統(tǒng)自帶的版本,如果是2.6.6或者之上的不需要安裝)

tar –zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure
make
make install

3.4安裝storm

修改storm.yaml配置文件(子節(jié)點(diǎn)上也得修改)
修改zk對應(yīng)的主機(jī)名
修改主節(jié)點(diǎn)對應(yīng)的主機(jī)名

PS:

3.41 Storm發(fā)行版本解壓目錄下有一個(gè)

conf/storm.yaml文件:

用于配置Storm。默認(rèn)配置在這里可以查看conf/storm.yaml中的配置選項(xiàng)將覆蓋defaults.yaml中的默認(rèn)配置。

以下配置選項(xiàng)是必須在conf/storm.yaml中進(jìn)行配置的:

storm.zookeeper.servers:

Storm集群使用的Zookeeper集群地址,

其格式如下:

storm.zookeeper.servers:
- "111.222.333.444"
- "555.666.777.888"

如果Zookeeper集群使用的不是默認(rèn)端口,那么還需要storm.zookeeper.port選項(xiàng)。

3.42 storm.local.dir: Nimbus和Supervisor進(jìn)程

用于存儲(chǔ)少量狀態(tài),如jars、confs等的本地磁盤目錄,需要提前創(chuàng)建該目錄并給以足夠的訪問權(quán)限。

然后在storm.yaml中配置該目錄,如:

storm.local.dir: "/usr/storm/workdir"

分別啟動(dòng)三臺(tái)機(jī)器,master:到storm的bin目錄下:

./storm nimbus > /dev/null 2>&1 &

slave01:到storm的bin目錄下:

./storm supervisor > ../logs/su.log 2>&1 &

slave02:到storm的bin目錄下:

./storm supervisor > ../logs/su.log 2>&1 &

(啟動(dòng)后臺(tái)進(jìn)程,并把正確和錯(cuò)誤的信息輸出到該文件中)

在master上啟動(dòng)UI管理界面

./storm ui > /dev/null 2>&1 &

通過瀏覽器觀察:(主節(jié)點(diǎn)的ip:8080),觀察集群的worker資源使用情況、Topologies的運(yùn)行狀態(tài)等信息。

Storm集群已經(jīng)部署、配置完畢,可以向集群提交拓?fù)溥\(yùn)行了。

上述就是小編為大家分享的如何進(jìn)行Twitter Storm 系統(tǒng)集群搭建了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

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

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

AI