程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> Storm系列(一):搭建dotNet開發Storm拓撲的環境,dotnetstorm

Storm系列(一):搭建dotNet開發Storm拓撲的環境,dotnetstorm

編輯:C#入門知識

Storm系列(一):搭建dotNet開發Storm拓撲的環境,dotnetstorm


上篇博客比較了目前流行的計算框架特性,如果你是 Java 開發者,那麼根據業務場景選擇即可;但是如果你是 .Net 開發者,那麼三者都不能拿來即用,至少在這篇文章出現之前是如此。基於上篇文章的比較發現,Storm 應該是對多語言支持比較好的框架了,但即便如此,官方也沒有提供 .Net 的適配器,網上也找不到第三方的開源庫。So,Storm.Net.Adapter 出現了,一個使用 Csharp 開發的 針對 Apache Storm 的適配器!項目由本人開發,按照Apache License, Version 2.0開源。

本文是“Storm系列”的第一篇,後期會根據時間情況繼續更新!

安裝Storm與依賴環境

安裝Zookeeper

  • 獲取最新 Zookeeper 程序包:官網

  • 解壓程序包,拷貝 conf 下 zoo_sample.cfg 為 zoo.cfg,修改相關配置

  • Windows 環境下直接執行 bin\zkServer.cmd;Linux 下執行 bin/zkServer.sh start

安裝Python, Java與Maven

  • 下載 Python 2.x 安裝

  • 下載 JAVA 6+ 安裝,必須安裝 JDK 版,否則使用 Maven 時會出錯

  • 下載 Maven 並安裝

下載Storm

  • 獲取最新 Storm 程序包:官網

  • 解壓後修改 conf 下的 storm.yaml 裡的相關配置

配置環境變量

  • 配置 Storm_Home 與 Java_Home; 目錄最好不要有空格

  • classPath 裡增加 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\toos.jar;

  • path 裡增加 %STORM_HOME%\bin;%JAVA_HOME%\bin;

  • 將 Maven 的目錄也加到 path 方便使用

Storm啟動

  • 啟動 Zookeeper

  • 運行 storm nimbus (如果未將 Storm 加到 path,需要先切換到 Storm 的 bin 目錄,下同)

  • 運行 storm supervisor (集群環境下,非主可以僅執行該句)

  • 運行 storm ui,通過 http://localhost:8080/ 監控 Storm 運行狀況

使用 Storm.Net.Adapter

獲取 Storm.Net.Adapter

目前有以下幾種方式獲取最新的 Storm.Net.Adapter 庫

  • 通過源代碼編譯自己的版本: GitHub

  • 下載編譯好的版本加入引用: Release

  • 使用 NuGet 獲取最新版本(推薦):PM> Install-Package Storm.Net.Adapter

創建示例項目

  • 在項目中引用 Storm.Net.Adapter,創建 Spout (基於ISpout)和 Bolt (基於IBolt或IBasicBolt),都需要 using Storm;

  • 創建一個使用 Maven 管理的 Java 項目,增加 dotNet 程序對應的 Topology

  • Windows(.Net Framework)平台下,你可以通過下面的方式來調用你的 Spout 或 Bolt:

     super("cmd", "/k", "CALL", "StormSimple.exe", "generator");
    
  • Linux, Mac OSX, Windows(mono)平台下,你可以通過下面的方式來調用你的 Spout 或 Bolt:

     super("mono", "StormSimple.exe", "generator");
    

打包與發布

  • 拷貝編譯好的 dotNet 程序到 resources 目錄下,使用下面的 Maven 命令打包你的 Topology:

     $ mvn package
    
  • 通過 Storm 命令行工具提交你創建好的 Topology:

     $ storm jar storm-starter-*-jar-with-dependencies.jar storm.starter.WordCountTopologyCsharp wordcount
    

Storm系列文章

(一):搭建dotNet開發Storm拓撲的環境

 

  1. 上一頁:
  2. 下一頁: