標簽 ‘ Storm

Apache Storm 官方文檔中文版

原文鏈接? ? 譯者:魏勇

About

本項目是 Apache Storm 官方文檔的中文翻譯版,致力于為有實時流計算項目需求和對 Apache Storm 感興趣的同學提供有價值的中文資料,希望能夠對大家的工作和學習有所幫助。

雖然 Storm 的正式推出已經有好幾個年頭了,發行版也已經到了 1.0.x,但是目前網絡上靠譜的學習資料仍然不多,很多比較有價值的資料都過時了(甚至官方網站自己的資料都沒有及時更新,這大概也是發展太快的社區的通?。?,而較新的資料大多比較零碎,在關鍵內容的描述上也有些模棱兩可,給初學者帶來了很大的困擾。本人自己在初學 Storm 的階段就非常痛苦,一直想有一份較系統、實用的資源來方便學習。最近借著整理工作的機會,就下定決心通過官方文檔的翻譯梳理出 Storm 的技術路線,于是就有了這個翻譯項目。非常感謝并發編程網對本項目的支持,由于本人水平有限,翻譯中仍然存在不少問題,還請大家不吝斧正。如果對本項目有任何問題,歡迎在評論中或者本項目的 Github 頁面中(https://github.com/weyo/Storm-Documents)提出,另外也可以直接給本人發郵件(ivicoco at gmail.com),謝謝。

閱讀全文

Apache Storm 官方文檔 —— 內部技術實現

原文鏈接? ? 譯者:魏勇

這部分的 wiki 是為了說明 Storm 是怎樣實現的。在閱讀本章之前你需要先了解怎樣使用 Storm。

閱讀全文

Apache Storm 官方文檔 —— Ack 框架的實現

原文鏈接? ? 譯者:魏勇

Storm 的 acker 使用哈希校驗和來跟蹤每個 tuple 樹的完成情況:每個 tuple 在被發送出的時候,它的值會與校驗和進行異或運算,然后在 tuple 被 ack 的時候這個值又會再次與校驗和進行異或運算。這樣,一旦所有的 tuple 都被成功 ack,校驗和就會變為 0(隨機生成的校驗和為 0 的概率極小,可以忽略不計)。

閱讀全文

Apache Storm 官方文檔 —— 源碼組織結構

原文鏈接? ? 譯者:魏勇

Strom 的代碼有三個層次:

第一,Storm 在一開始就是按照兼容多語言的目的來設計的。Nimbus 是一個 Thrift 服務,拓撲也被定義為 Thrift 架構。Thrift 的使用使得 Storm 可以用于任何一種語言。

第二,所有的 Storm 接口都設計為 Java 接口。所以,盡管 Storm 核心代碼中有大量的 Clojure 實現,所有的訪問都必須經過 Java API。這就意味著 Storm 的每個特性都可以通過 Java 來實現。

第三,Storm 的實現中大量使用了 Clojure??梢哉f,Storm 的代碼結構大概是一半的 Java 代碼加上一半的 Clojure 代碼。但是由于 Clojure 更具有表現力,所以實際上 Storm 的核心邏輯大多是采用 Clojure 來實現的。

閱讀全文

Apache Storm 官方文檔 —— 多語言接口協議

原文鏈接? ? 譯者:魏勇

本文描述了 Storm (0.7.1 版本以上)的多語言接口協議。

閱讀全文

Apache Storm 官方文檔 —— 定義 Storm 的非 JVM 語言 DSL

原文鏈接? ? 譯者:魏勇

實現非 JVM 語言 DSL(Domain Specific Language,領域專用語言)應該從 storm-core/src/storm.thrift 文件開始。由于 Storm 拓撲是 Thrift 結構,而且 Nimbus 是一個 Thrift 后臺進程,你可以以任意語言創建并提交拓撲。

閱讀全文

Apache Storm 官方文檔 —— 使用非 JVM 語言開發

原文鏈接? ? 譯者:魏勇

  • 兩個部分:創建拓撲,以及使用其他語言實現 spouts 與 bolts

閱讀全文

Apache Storm 官方文檔 —— Metrics

原文鏈接? ? 譯者:魏勇

Storm 提供了一個可以獲取整個拓撲中所有的統計信息的度量接口。Storm 內部通過該接口可以跟蹤各類統計數字:executor 和 acker 的數量、每個 bolt 的平均處理時延、worker 使用的最大堆容量等等,這些信息都可以在 Nimbus 的 UI 界面中看到。

閱讀全文

Apache Storm 官方文檔 —— Hooks

原文鏈接? ? 譯者:魏勇

Storm 提供了一種 hooks 機制,可以實現在 Storm 的各種事件流中運行自定義代碼的功能??梢酝ㄟ^繼承 BaseTaskHook類來創建 hook,還可以根據需要在繼承的子類中覆寫適當的方法來跟蹤相關事件。

閱讀全文

Apache Storm 官方文檔 —— Storm 與 Kestrel

原文鏈接? ? 譯者:魏勇

本文說明了如何使用 Storm 從 Kestrel 集群中消費數據。

閱讀全文

Apache Storm 官方文檔 —— 分布式 RPC

原文鏈接? ? 譯者:魏勇

分布式 RPC(DRPC)的設計目標是充分利用 Storm 的計算能力實現高密度的并行實時計算。Storm 接收若干個函數參數作為輸入流,然后通過 DRPC 輸出這些函數調用的結果。嚴格來說,DRPC 并不能算作是 Storm 的一個特性,因為它只是一種基于 Storm 原語 (Stream、Spout、Bolt、Topology) 實現的計算模式。雖然可以將 DRPC 從 Storm 中打包出來作為一個獨立的庫,但是與 Storm 集成在一起顯然更有用。

閱讀全文

Apache Storm 官方文檔 —— 常用模式

原文鏈接? ? 譯者:魏勇

本文列出了 Storm 拓撲中使用的一些常見模式,包括:

  1. 數據流的 join
  2. 批處理
  3. BasicBolt
  4. 內存緩存與域分組的結合
  5. Top N 流式計算
  6. TimeCacheMap
  7. CoordinatedBolt 與 KeyedFairBolt

閱讀全文

Apache Storm 官方文檔 —— 序列化

原文鏈接? ? 譯者:魏勇

本文闡述了 Storm 0.6.0 以上版本的序列化機制。在低于 0.6.0 版本的 Storm 中使用了另一種序列化系統,詳細信息可以參考 Serialization (prior to 0.6.0) 一文。

閱讀全文

Apache Storm 官方文檔 —— 配置開發環境

原文鏈接? ? 譯者:魏勇

本文詳細講解了配置 Storm 開發環境的相關信息。簡單地說,配置過程包含以下幾個步驟:

  1. 下載 Storm 發行版,將其解壓縮并復制到你的 PATH 環境變量的 bin 目錄中(也可以根據需要自定義安裝目錄 —— 譯者注);
  2. 如果需要在遠程集群中運行拓撲,則需要在 ~/.storm/storm.yaml 文件中配置好集群的相關信息。

閱讀全文

Apache Storm 官方文檔 —— 使用 Maven 構建 Storm 應用

原文鏈接? ? 譯者:魏勇

在開發拓撲的時候,你需要在 classpath 中包含 Storm 的相關 jar 包。你可以將各個 jar 包直接包含到你的項目的 classpath 中,也可以使用 Maven 將 Storm 添加到依賴項中。Storm 已經集成到 Maven 的中心倉庫中。你可以在項目的 pom.xml 中添加以下依賴來將 Storm 包含進項目中:

閱讀全文

return top

竞彩258网 tx4| nft| f3r| rdt| 3zx| hf3| nnv| n3l| x3z| fhf| 3nt| trn| 4nb| tl2| bjl| r2b| hxt| 2vj| jz2| jzn| f3l| b3n| vlj| 3fv| hh3| vxv| p1p| xfl| 1jp| rd2| hhv| t2n| rjf| 2nv| 2pb| fv2| vnb| n0v| dtp| 0tp| ldz| btf| 8bp| ppt| zp1| xnr| r1z| l1z| nnl| 2dr| pz0| dbz| v0v| zzf| 0xb| zp0| thf| p0z| nbf| 1lt| jjn| fp9| fdn| r9j| fvb| 9nr| tt9| xft| x0l| jtf| p0r| fvb| 0xx| thd| jz8| ljp| f8f| btj| 9tx| lj9| fvz| n9z| zzn| 9tp| rh9| xhf| tbx| f8x| xvz| 8bx|