共計 2819 個字符,預計需要花費 8 分鐘才能閱讀完成。
這篇文章將為大家詳細講解有關 Storm 集群如何搭建,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Storm 是什么?
Storm 是 Twitter 開源的一個分布式的實時計算系統
使用場景:
數據的實時分析, 持續計算, 分布式 RPC 等等.
Storm 特點:(Storm 類似手扶電梯, 不出故障就會一直運行.
hadoop 類似升降電梯, 到達一定程度會停止 )
分布式
可擴展
高可靠性
編程模型簡單
高效實時
常用的類:
BaseRichSpout(消息生產者)
BaseBasicBolt(消息處理者)
TopologyBuilder(拓撲的構建器)
Config(配置)
StormSubmitter/LocalCluster(拓撲提交器)
Storm 集群部署
Storm 集群架構:
如圖:

在 Storm 的集群里面有兩種節點:控制節點和工作節點。
控制節點上面運行一個叫 Nimbus 進程,Nimbus 負責在集群里面
分發代碼,分配計算任務,并且監控狀態。
每一個工作節點上面運行一個叫做 Supervisor 進程。
Supervisor 負責監聽從 Nimbus 分配給它執行的任務,
據此啟動或停止執行任務的工作進程
Nimbus 和 Supervisor 之間的所有協調工作都是通過 Zookeeper 集群完成。
集群規劃:(根據具體需求規劃)
linux 主機名 Storm 角色 Zookeeper
master Nimubus 單節點 zk
slave01 Supervisor
slave02 Supervisor
準備工作:
環境:centos6.4
軟件:
jzmq-master
storm-0.8.2
zeromq-2.1.7
zookeeper-3.4.5
環境配置:(參見前幾篇博客)
linux 基本配置:
修改主機名
修改 IP
修改主機和 IP 的映射關系
關閉防火墻
安裝步驟:
1. 安裝 jdk
2. 搭建 Zookeeper 集群 (這里我們只安裝一個 zk 在主節點上)
解壓
進入 zk 的 conf 目錄下,cp zoo_sample.cfg zoo.cfg(修改一下名字)
其它的暫時都不變
3. 安裝 Storm 依賴(zeromq、jzmq、python)
3.1 安裝 zeromq, 然后進入到 zeromq-2.1.7/ 目錄下
檢測環境:./configure
cd zeromq-2.1.7
./configure
#編譯可能會出錯:
configure: error: Unable to find a working C++ compiler
#安裝一下依賴的 rpm 包:libstdc++-devel gcc-c++
虛擬機可以上網的情況下:(建議使用此方法)
yum install gcc-c++
虛擬機不能上網情況:
首先到
http://mirrors.163.com/centos/6.4/os/x86_64/Packages/
(下載的版本一定要和系統對應)
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
然后運行./configure
make(編譯)
make install(這個才徹底安裝)
3.2. 編譯安裝 JZMQ:
cd jzmq
執行./autogen.sh
(是為了讓它產生配置文件, 默認沒有配置文件的)
#報錯:autogen.sh: error: could not find libtool.
libtool is required to run autogen.sh.
缺少 libtool
同樣,可上網情況下
yum install libtool(readhat 企業版不會出現這些報錯)
或者手動安裝
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
(先確定你系統自帶的版本,如果是 2.6.6 或者之上的不需要安裝)
tar –zxvf Python-2.6.6.tgz
cd Python-2.6.6
./configure
make
make install
3.4 安裝 storm
修改 storm.yaml 配置文件(子節點上也得修改)
修改 zk 對應的主機名
修改主節點對應的主機名
PS:
3.41.Storm 發行版本解壓目錄下有一個
conf/storm.yaml 文件:
用于配置 Storm。默認配置在這里可以查看
conf/storm.yaml 中的
配置選項將覆蓋 defaults.yaml 中的默認配置。
以下配置選項是必須在
conf/storm.yaml 中進行配置的:
storm.zookeeper.servers:
Storm 集群使用的 Zookeeper 集群地址,
其格式如下:
storm.zookeeper.servers:
– 111.222.333.444 – 555.666.777.888
如果 Zookeeper 集群使用的不是默認端口,
那么還需要 storm.zookeeper.port 選項。
3.42storm.local.dir: Nimbus 和 Supervisor 進程
用于存儲少量狀態,
如 jars、confs 等的本地磁盤目錄,
需要提前創建該目錄并給以足夠的訪問權限。
然后在 storm.yaml 中配置該目錄,如:
storm.local.dir: /usr/storm/workdir
分別啟動三臺機器
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
(啟動后臺進程, 并把正確和錯誤的信息輸出到該文件中)
在 master 上啟動 UI 管理界面
./storm ui /dev/null 2 1
通過瀏覽器觀察:(主節點的 ip:8080)
觀察集群的 worker 資源使用情況、
Topologies 的運行狀態等信息。
關于“Storm 集群如何搭建”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。