storm學習筆記

2022-09-10 21:30:23 字數 3084 閱讀 7867

一,概述

storm用來實時計算源源不斷產生的資料,如同流水線生產。

storm用來實時處理資料,特點:低延遲、高可用、分布式、可擴充套件、資料不丟失。提供簡單容易理解的介面,便於開發。

二,storm和hadoop的區別

storm用於實時計算,hadoop用於離線計算。

storm處理的資料儲存在記憶體中--redis,源源不斷;hadoop處理的資料儲存在hdfs檔案系統中,一批一批。

storm的資料通過網路傳輸進來;hadoop的資料儲存在磁碟中。

storm與hadoop的程式設計模型相似。

三,storm的核心元件

nimbus:負責資源分配和任務排程。

supervisor:負責接受nimbus分配的任務,啟動和停止屬於自己管理的worker程序。---通過配置檔案設定當前supervisor上啟動多少個worker。

worker:執行具體處理元件邏輯的程序。worker執行的任務型別只有兩種,一種是spout任務,一種是bolt任務。

task:worker中每乙個spout/bolt的執行緒稱為乙個task. 在storm0.8之後,task不再與物理執行緒對應,不同spout/bolt的task可能會共享乙個物理執行緒,該執行緒稱為executor。

executor:執行緒管理器

四,storm程式設計模型

topology:storm中執行的乙個實時應用程式的名稱。(拓撲)

spout:在乙個topology中獲取源資料流的元件。通常情況下spout會從外部資料來源中讀取資料,然後轉換為topology內部的源資料。

bolt:接受資料然後執行處理的元件,使用者可以在其中執行自己想要的操作。

資料清洗--》去掉垃圾資料、資料格式化--》把資料格式設定為我們想要的格式--》資料分析

tuple:一次訊息傳遞的基本單元,理解為一組訊息就是乙個tuple。

stream:表示資料的流向。

五,集群環境搭建

2,修改配置檔案 

vi /home/storm/conf/storm.yaml

########### these must be filled in for a storm configura

tion

storm.zookeeper.servers:

- "server1"

# - "server2"

nimbus.host: "192.168.184.131"

storm.local.dir: "/home/storm"

ui.port: 10086

supervisor.slots.ports:

- 6700

- 6701

- 6702

## nimbus.seeds: ["host1", "host2", "host3"]集群配置

3,分發安裝包

scp -r /export/servers/apache-storm-0.9.5 storm02:/export/servers

然後分別在各機器上建立軟連線

cd /export/servers/

ln -s apache-storm-0.9.5 storm

4,啟動集群

在nimbus.host所屬的機器上啟動 nimbus服務

cd /export/servers/storm/bin/

nohup ./storm nimbus &

在nimbus.host所屬的機器上啟動ui服務

cd /export/servers/storm/bin/

nohup ./storm ui &

在其它個點選上啟動supervisor服務

cd /export/servers/storm/bin/

nohup ./storm supervisor &

5,檢視集群

訪問nimbus.host:/8080,即可看到storm的ui介面。

六,storm常用操作命令

1,提交任務命令格式:storm jar 【jar路徑】 【拓撲包名.拓撲類名】 【拓撲名稱】

storm jar /home/data.jar com.main wordcount
2,殺死任務命令格式:storm kill 【拓撲名稱】

-w 10

(執行kill

命令時可以通過

-w [

等待秒數

]指定拓撲停用以後的等待時間)

storm kill  wordcount -w 10
3,停用任務命令格式:storm deactivte  【拓撲名稱】

storm deactivte wordcount
4,啟用任務命令格式:storm activate【拓撲名稱】

storm activate topology-name
5,重新部署任務命令格式:storm rebalance  【拓撲名稱】

storm rebalance topology-name
七,storm日誌及程序的熟悉

檢視supervisor上

worker

執行日誌資訊,執行的jar包在logs目錄下會有輸出的結果。

八,storm任務提交過程

九,storm的併發機制

storm學習筆記

1 基礎概念 元組 訊息傳遞的基本單元,支援所有的基本型別 字串和位元組陣列作為字段值。流 流由元組組成,spout是流的源頭從外部資料來源讀取元組並emit到拓撲中,bolt接收任何數量的輸入流執行處理後可能提交新的流。spout spout是拓撲的流的 是乙個拓撲中產生源資料流的元件。spout...

storm學習筆記

1.storm簡介 a storm是乙個開源免費的分布式實時計算系統,它可以輕鬆的處理無界的資料流。b storm只負責資料的計算,不負責資料的儲存。2.storm應用場景 3.storm的核心技術組成 a topology 拓撲 乙個拓撲是乙個圖的計算,乙個拓撲是由若干個spout,bolt組成 ...

storm學習筆記(一)

1 storm介紹 storm特點 storm保障每個訊息至少能得到一次完整處理。任務失敗時,它會負責從訊息源重試訊息 系統的設計保證了訊息能夠得到快速的處理,使用 mq作為其底層訊息佇列 2 總體架構 storm中涉及的術語 3 storm在zookeeper中的資料存貯及使用 1 存貯 stor...