日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Storm入门简介

發布時間:2023/12/20 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Storm入门简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • 目錄
  • 前言:
    • 1、Storm簡介
    • 2、Storm與Hadoop的區別
    • 3、Storm核心組件
    • 4、Storm編程模型
    • 5、流式計算一般架構圖(重要)
    • 總結:

目錄

前言:

在介紹Storm之前,先介紹下離線計算。
離線計算:批量獲取數據、批量傳輸數據、周期性批量計算數據、數據展示
代表技術:Sqoop批量導入數據、HDFS批量存儲數據、MapReduce批量計算數據、Hive批量計算數據、azkaban任務調度
與之對應的就是流式計算即Storm的應用場景——流式計算。那么流式計算是什么呢?
流式計算:數據實時產生、數據實時傳輸、數據實時計算、實時展示。
代表技術:Flume實時采集數據、kafka實時數據存儲、Storm實時計算數據、redius實時結果緩存、持久化存儲(Mysql)。
一句話總結:將源源不斷產生的數據實時收集并實時計算,盡可能快的得到計算結果。

1、Storm簡介

Storm用來實時處理數據,特點:低延遲、高可用、分布式、可擴展、數據不丟失。提供簡單容易理解的接口,便于開發。

2、Storm與Hadoop的區別

? Storm處理的數據保存在內存中源源不斷Hadoop處理的數據保存在文件系統中,一批一批
? Storm的數據通過網絡傳輸進來;Hadoop的數據保存在磁盤中。
? Storm與Hadoop的編程模型相似

3、Storm核心組件


? Nimbus:負責資源分配和任務調度。
? Supervisor:負責接受nimbus分配的任務,啟動和停止屬于自己管理的worker進程。—通過配置文件設置當前supervisor上啟動多少個worker。
? Worker:運行具體處理組件邏輯的進程。Worker運行的任務類型只有兩種,一種是Spout任務,一種是Bolt任務。
? Task:worker中每一個spout或bolt的線程稱為一個task. 在storm0.8之后,task不再與物理線程對應,不同spout/bolt的task可能會共享一個物理線程,該線程稱為executor。Task=線程=executor


補充知識:
Zookeeper:保存任務分配的信息、心跳信息、元數據信息。
并發度:用戶指定的一個任務,可以被多個線程執行,并發度的數量等于線程的數量
Worker與topology:
一個worker只屬于一個topology,每個worker中運行的task只能屬于這個topology。 反之,一個topology包含多個worker,其實就是這個topology運行在多個worker上。
一個topology要求的worker數量如果不被滿足,集群在任務分配時,根據現有的worker先運行topology。如果當前集群中worker數量為0,那么最新提交的topology將只會被標識active,不會運行,只有當集群有了空閑資源之后,才會被運行。

4、Storm編程模型


? Topology:Storm中運行的一個實時應用程序的名稱。(拓撲)
? Spout:在一個topology中獲取源數據流的組件。接受外部數據源的組件,將外部數據源轉化成Storm內部的數據,以Tuple為基本的傳輸單元下發給Bolt
? Bolt:接受數據然后執行處理的組件,用戶可以在其中執行自己想要的操作。接受Spout發送的數據,或上游的bolt的發送的數據。根據業務邏輯進行處理。發送給下一個Bolt或者是存儲到某種介質上。介質可以是Redis可以是mysql,或者其他。
? Tuple:一次消息傳遞的基本單元,里面封裝了一個List對象,用來保存數據,理解為一組消息就是一個Tuple。
? Stream:表示數據的流向。
? 通常情況下spout會從外部數據源中讀取數據,然后轉換為topology內部的源數據。

5、流式計算一般架構圖(重要)


其中

  • flume用來獲取數據。
  • Kafka用來臨時保存數據。
  • Strom用來計算數據。
  • Redis是個內存數據庫,用來保存數據。

總結:

對于Storm來說首先你要了解以下幾個知識點:
1、離線計算和流式計算是什么以及對應的區別。
2、Storm是什么以及是干什么用的。
3、Storm與Hadoop的區別。
4、Storm的核心組件。(重點)
5、Storm的編程模型。(在新的文章中詳細介紹)
6、流式計算的一般架構圖。(重點)
7、Storm的應用場景及行業案例。
了解了以上的知識點,你就算是和博主一樣剛剛入門。下面將會圍繞上面的一些重要的知識點就行詳細的介紹(如編程模型以及對應的WC案例的分析:詳見:https://blog.csdn.net/qq_16633405/article/details/79835012)

總結

以上是生活随笔為你收集整理的Storm入门简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。