Apache Storm 官方文檔 —— 配置開發環境
本文詳細講解了配置 Storm 開發環境的相關信息。簡單地說,配置過程包含以下幾個步驟:
- 下載 Storm 發行版,將其解壓縮並複製到你的
PATH
環境變量的bin
目錄中(也可以根據需要自定義安裝目錄 —— 譯者注); - 如果需要在遠程集群中運行拓撲,則需要在
~/.storm/storm.yaml
文件中配置好集群的相關信息。
上述幾步的詳細內容如下。
什麼是開發環境?
Storm 包含兩種操作模式:本地模式與遠程模式(即集群模式 —— 譯者注)。在本地模式下,你可以在本地機器上的一個進程中完成所有的開發、測試拓撲的工作。而在遠程模式下,為了運行拓撲,你需要先向服務器集群提交該拓撲。
Storm 的開發環境已經為你準備好了一切,因此,你可以在本地模式下完成開發、測試拓撲的工作,將拓撲打包並提交到遠程服務器,並在遠程服務器集群上運行或者終止拓撲。
我們再來回顧一下本地機器與遠程集群之間的關係。Storm 集群是由一個稱為 “Nimbus” 的主節點管理的。本地機器通過與 Nimbus 通信來提交代碼(代碼已經打包為 jar 格式),這樣代碼文件中包含的拓撲就可以在集群中運行。Nimbus 會小心地維護著代碼在集群中的分布式結構,並為待運行的拓撲分配 worker。本地機器可以使用一個稱為 storm
的命令行客戶端來與 Nimbus 進行通信。不過,storm
客戶端僅用於遠程模式,不能用於本地模式下開發、測試拓撲。
在本地機器上安裝 Storm
如果要從本地機器上直接向遠程集群提交拓撲,你需要在本地機器上安裝 Storm 程序。本地的 Storm 程序可以提供與遠程集群交互的 storm
客戶端。在安裝本地 Storm 之前,你需要從這裏下載一個 Storm 安裝程序並將其解壓到你的電腦的某個位置。然後將 Storm 的 bin/
目錄添加到你的 PATH
環境變量中,確保 bin/storm
腳本可以直接運行。
在本地機器上安裝的 Storm 僅能用於與遠程集群的交互。對於本地模式下的開發、測試拓撲,推薦使用 Maven 來將 Storm 添加到你的項目的開發依賴中。關於 Maven 的使用請參考此文。
在遠程集群上開始/終止拓撲的運行
在上一步中我們已經安裝好了本地的 storm
客戶端。接下來就需要告訴客戶端需要連接哪一個 Storm 集群。這可以通過在 ~/.storm/storm.yaml
文件中填寫 Storm 集群的主節點的 host 地址來實現:
nimbus.host: "123.45.678.890"
另外,如果你在 AWS 上應用 storm-deploy 項目來配置 Storm 集群,它會自動配置好你的 ~/.storm/storm.yaml
文件。你也可以使用 attach
命令手動配置附屬的 Storm 集群(或者在多個集群之間切換):
lein run :deploy --attach --name mystormcluster
更多內容請參考 storm-deploy 項目的 wiki。
最後更新:2017-05-22 14:01:38