上篇博客比較了目前流行的計算框架特性,如果你是 java 開發(fā)者,那么根據(jù)業(yè)務(wù)場景選擇即可;但是如果你是 .Net 開發(fā)者,那么三者都不能拿來即用,至少在這篇文章出現(xiàn)之前是如此?;谏掀恼碌谋容^發(fā)現(xiàn),Storm 應(yīng)該是對多語言支持比較好的框架了,但即便如此,官方也沒有提供 .Net 的適配器,網(wǎng)上也找不到第三方的開源庫。So,Storm.Net.Adapter出現(xiàn)了,一個使用 Csharp 開發(fā)的 針對 Apache Storm 的適配器!項目由本人開發(fā),按照Apache License, Version 2.0開源。
本文是“Storm系列”的第一篇,后期會根據(jù)時間情況繼續(xù)更新!
獲取最新 Zookeeper 程序包:官網(wǎng)
解壓程序包,拷貝 conf 下 zoo_sample.cfg 為 zoo.cfg,修改相關(guān)配置
Windows 環(huán)境下直接執(zhí)行 bin/zkServer.cmd;linux 下執(zhí)行bin/zkServer.sh start
下載 Python 2.x 安裝
下載 JAVA 6+ 安裝,必須安裝 JDK 版,否則使用 Maven 時會出錯
下載 Maven 并安裝
獲取最新 Storm 程序包:官網(wǎng)
解壓后修改 conf 下的 storm.yaml 里的相關(guān)配置
配置 Storm_Home 與 Java_Home; 目錄最好不要有空格
classPath 里增加.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/toos.jar;
path 里增加%STORM_HOME%/bin;%JAVA_HOME%/bin;
將 Maven 的目錄也加到 path 方便使用
啟動 Zookeeper
運行storm nimbus
(如果未將 Storm 加到 path,需要先切換到 Storm 的 bin 目錄,下同)
運行storm supervisor
(集群環(huán)境下,非主可以僅執(zhí)行該句)
運行storm ui
,通過 http://localhost:8080/ 監(jiān)控 Storm 運行狀況
目前有以下幾種方式獲取最新的 Storm.Net.Adapter 庫
通過源代碼編譯自己的版本:GitHub
下載編譯好的版本加入引用:Release
使用 NuGet 獲取最新版本(推薦):PM> Install-Package Storm.Net.Adapter
在項目中引用 Storm.Net.Adapter,創(chuàng)建 Spout (基于ISpout)和 Bolt (基于IBolt或IBasicBolt),都需要using Storm;
創(chuàng)建一個使用 Maven 管理的 Java 項目,增加 dotNet 程序?qū)?yīng)的 Topology
Windows(.Net Framework)平臺下,你可以通過下面的方式來調(diào)用你的 Spout 或 Bolt:
super("cmd", "/k", "CALL", "StormSimple.exe", "generator");
Linux, Mac OSX, Windows(mono)平臺下,你可以通過下面的方式來調(diào)用你的 Spout 或 Bolt:
super("mono", "StormSimple.exe", "generator");
拷貝編譯好的 dotNet 程序到 resources 目錄下,使用下面的 Maven 命令打包你的 Topology:
$ mvn package
通過 Storm 命令行工具提交你創(chuàng)建好的 Topology:
$ storm jar storm-starter-*-jar-with-dependencies.jar storm.starter.WordCountTopologyCsharp wordcount
(一):搭建dotNet開發(fā)Storm拓?fù)涞沫h(huán)境
(二):使用Csharp創(chuàng)建你的第一個Storm拓?fù)洌╳ordcount)
(三):創(chuàng)建Maven項目打包提交wordcount到Storm集群
|
新聞熱點
疑難解答