2.2 元件組成
2.3 應用組成
三、安裝
storm是twitter開源的分布式實時計算系統,能夠處理無界的資料流。這裡對stom及安裝進行介紹。
2.1 節點組成
storm由master node(nimbus守護程序)和worker node(supervisor守護程序) 組成,master node和worker node間是通過zookeeper進行互動的。
2.1.1 master節點
master節點只能有乙個,上面執行nimbus守護程序(類似hadoop的jobtracker),負責集群中**分發、結點任務分配、監控等作用。
2.1.2 worker結點
worker節點可以有多個,執行著supervisor守護程序,監聽主機已經分配的作業,啟動和停止numbus分配的工作程序。
2.2 元件組成
storm從資料來源讀取資料,經過一系列單元處理,最終輸出資料。其中經過流程及資料結構有:
tuple(元組)、stream(資料流)、spout(噴口)、bolt(螺栓)。
2.2.1 tuple
tuple是資料的載體,是最基本的單元,支援所有基本型別、字串、位元組陣列或者實現序列化的物件。
2.2.2 stream
stream是無界的tuple序列。
2.2.3 spout
spout是資料的**,從外部獲取資料。
2.2.4 bolt
bolt是資料的處理結點,獲取資料,處理資料後,再輸出。
2.3 應用組成
2.3.1 topology
topology(拓撲)代表乙個實時計算應用,由各元件及訊息組成的邏輯拓撲。
2.3.2 stream grouping
stream grouping(流分組)指定了訊息的分發,即每個bolt應接收哪個流作為輸入。
2.3.4 worker
worker(工作程序)是spout/bolt中處理具體邏輯的程序,包含多個task。
2.3.5 task
task(任務),即是spout/bolt中執行的執行緒。
2.3.6 executor
executor(執行緒執行器)
3.1 準備
先安裝好jdk8及zookeeper,並啟動zookeeper待用,其安裝過程在此略過。
wget
3.3 修改配置檔案conf/storm.yaml#配置zookeeper位址,若埠不是預設的,可通過配置storm.zookeeper.port
storm.zookeeper.servers:
- "localhost"
# - "server2"
#配置主控節點的位址
# nimbus.seeds: ["host1", "host2", "host3"]
nimbus.seeds: ["localhost"]
#配置ui的位址和埠
ui.host: 0.0.0.0
ui.port: 8901
#配置工作節點的埠號,配置幾個即有幾個worker,這裡3個埠即有3個worker
supervisor.slots.ports:
- 6700
- 6701
- 6702
3.4 啟動#啟動nimbus
bin/storm nimbus &
#啟動supervisor
bin/storm supervisor &
#啟動ui
bin/storm ui &
至此storm安裝完成,瀏覽器輸入 ,可檢視storm情況。
3.5 strom常用命令
#storm命令格式
usage: storm [-h]
[--config config]
[-storm_config_opts storm_config_opts]
#storm命令常用引數
#列印幫助
bin/storm -h
#列印版本號
bin/storm version
#執行拓撲
bin/storm jar jar包路徑 拓撲主類 引數
#啟用拓撲
bin/storm activate topology_name
#禁用拓撲
bin/storm deactivate topology_name
#殺死拓撲
bin/storm kill topology_name
#列出執行中的拓撲
bin/storm list
#啟動nimbus守護程序
bin/storm nimbus
#啟動supervisor守護程序
bin/storm supervisor
#啟動ui守護程序
bin/storm ui
storm安裝及啟動
1 安裝乙個zookeeper集群 2 上傳storm的安裝包,解壓 3 修改配置檔案storm.yaml 所使用的zookeeper集群主機 storm.zookeeper.servers weekend05 weekend06 weekend07 nimbus所在的主機名 nimbus.host...
SaltSack入門(一)安裝及簡單使用
為什麼要用自動化配置管理工具?由於企業不斷發展,傳統運維已經跟不上步伐,現在都在招運維開發工程師,薪資也高不少,像我們這傳統的運維顯然遇到了瓶頸,薪資也是提不上去,所以要面臨轉型。時不我待,轉起大腦,向devops邁進,首先熟練使用乙個自動化配置管理工具,憑自己的了解,這樣的工具有puppet sa...
Storm 快速安裝及部署示例
storm依賴zookeeper和python環境,具體安裝步驟不再列出,只簡單介紹storm的安裝過程。wget tar zxvf apache storm 0.10.0.tar.gz vi conf storm.yaml 這是乙個為storm集群服務的zookeeper集群的主機列表,它的配置應...