91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Storm編程入門知識點有哪些

發布時間:2021-12-23 11:51:31 來源:億速云 閱讀:278 作者:iii 欄目:云計算

這篇文章主要講解了“Storm編程入門知識點有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Storm編程入門知識點有哪些”吧!

Storm是什么? 什么是流式計算

    Storm是一個分布式實時計算框架, 適應于流式計算。 所謂流式計算,你可以把它想像成你家的電表,電在流過電表時,電表就要計算耗用量,電表對耗用量的計算就是典型的流式計算。

    下面介紹編程過程中需要用到的Storm的幾個概念:

  • Topology
        Topology似于Hadoop中的MapReduce Job,是一個用來編排、容納一組計算邏輯組件(Spout、Bolt)的對象(Hadoop MapReduce中一個Job包含一組Map Task、Reduce Task),這一組計算組件可以按照DAG圖的方式編排起來(通過選擇Stream Groupings來控制數據流分發流向),從而組合成一個計算邏輯更加強大的對象,那就是Topology。一個Topology運行以后就不能停止,它會無限地運行下去,除非手動干預(顯式執行bin/storm kill )或意外故障(如停機、整個Storm集群掛掉)讓它終止。

  • Spout
        Spout是一個Topology消息源頭,是一個可持續不斷生產消息的組件,例如,它可以是一個Socket Server在監聽外部Client連接并發送消息,可以是一個消息隊列(MQ)的消費者、可以是用來接收Flume Agent的Sink所發送消息的服務,等等。Spout生產的消息在Storm中被抽象為Tuple,在整個Topology的多個計算組件之間都是根據需要抽象構建的Tuple消息來進行連接,從而形成流。

  • Bolt
        Storm中消息的處理邏輯被封裝到Bolt中,任何處理邏輯都可以在Bolt里面執行,處理過程和普通計算應用程序沒什么區別,只是需要根據Storm的計算語義來合理設置一下組件之間消息流的聲明、分發、連接即可。Bolt可以接收來自一個或多個Spout的Tuple消息,也可以來自多個其它Bolt的Tuple消息,也可能是Spout和其它Bolt組合發送的Tuple消息。

  • Stream Grouping
        Storm中用來定義各個計算組件(Spout、Bolt)之間流的連接、分組、分發關系。Storm定義了如下7種分發策略:Shuffle Grouping(隨機分組)、Fields Grouping(按字段分組)、All Grouping(廣播分組)、Global Grouping(全局分組)、Non Grouping(不分組)、Direct Grouping(直接分組)、Local or Shuffle Grouping(本地/隨機分組),各種策略的具體含義可以參考Storm官方文檔、比較容易理解。

示例代碼 storm-demo

     storm-demo是一個包含完整的storm topology的代碼示例,有詳盡的注釋。
源碼見: https://git.oschina.net/HuQingmiao/storm-demo.git

怎么把storm 程序跑起來

###本地模式      在本地開發時,不需要部署storm, 直接在eclipse或IntelliJ idea下運行即可,便于調試。      也可以通過命令行執行: java -jar jar文件名 main入口類

###生產模式     先將你的應用程序打成jar包,但jar包中不要含有storm及相關日志包,即將storm及相關日志包的scope設為provided即可:

        <dependency>
            <groupId>org.apache.storm</groupId>
            <artifactId>storm-core</artifactId>
            <version>0.9.5</version>
            <scope>provided</scope>
        </dependency>

    再把應用程序jar包上傳到storm結點(Nimbus), 然后在結點上執行指令:

   storm  jar  你的應用程序.jar  Main入口類   參數(topologId)
 或
   jstorm jar 你的應用程序.jar  Main入口類   參數(topologId)

    若要在在生產模式下停止這個topology,則執行以下命令即可:

   storm  kill  參數(topologId)
或
   jstorm  kill  參數(topologId)

感謝各位的閱讀,以上就是“Storm編程入門知識點有哪些”的內容了,經過本文的學習后,相信大家對Storm編程入門知識點有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宜阳县| 蛟河市| 子洲县| 东安县| 托克逊县| 崇义县| 红桥区| 许昌县| 兰州市| 鲁山县| 济宁市| 报价| 辽中县| 鄢陵县| 扶绥县| 堆龙德庆县| 冷水江市| 江达县| 西畴县| 黄梅县| 云霄县| 安福县| 镇江市| 奎屯市| 古蔺县| 哈尔滨市| 朔州市| 金昌市| 项城市| 积石山| 武义县| 台东市| 安丘市| 河北区| 涟水县| 江川县| 子洲县| 昔阳县| 集安市| 武城县| 孟津县|