Storm系列(一):搭建dotNet开发Storm拓扑的环境
上篇博客比较了目前流行的计算框架特性,如果你是 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系列文章
(二):使用Csharp创建你的第一个Storm拓扑(wordcount)
(三):创建Maven项目打包提交wordcount到Storm集群
Storm系列(一):搭建dotNet开发Storm拓扑的环境的更多相关文章
- 第五章——搭建S3C6410开发板的测试环境
搭建S3C6410开发板的测试环境 通过本章的学习学会了如何在开发板上安装Android.开发板是学习和开发嵌入式技术的主要硬件设备,想要顺利的通过linux驱动访问硬件,是不能在PC板上模拟的,需要 ...
- 第五章 搭建S3C6410开发板的测试环境
在PC上可以开发Linux驱动,重新编译成ARM架构的Linux驱动模块,但最后还是要在开发板上进行测试.目前最流行的是基于三星S3C6410 ARM11架构的开发板,很多厂商在其基础上进行了扩展,开 ...
- 【雕爷学编程】MicroPython动手做(02)——尝试搭建K210开发板的IDE环境
喜欢今日头条,偶然看到广告,半个多月前交了8.9元,报名参加了头条上Python的四天培训课,呵呵,总算是有了零的开始(还是有点收获的,见https://www.sohu.com/a/38112874 ...
- 搭建S3C6410开发板的测试环境
因为ARM架构的开发板可基于X86架构的PC在CPU指令以及二进制上都有所不同,而且如果linux驱动需要访问硬件,这些硬件很难在PC上模拟,所以就需要我们在带有这些硬件的开发板上进行调试和测试. ...
- 第5章 搭建S3C6410开发板的测试环境
1.使用Eboot擦除NandFlash的方法如下: 第一步:准备工作 用串口线或USB转串口线连接开发板和PC,并启动minicom 第二步:进入Eboot状态 打开OK6410开发板的电源开关,过 ...
- Storm系列(二):使用Csharp创建你的第一个Storm拓扑(wordcount)
WordCount在大数据领域就像学习一门语言时的hello world,得益于Storm的开源以及Storm.Net.Adapter,现在我们也可以像Java或Python一样,使用Csharp创建 ...
- Storm系列(三):创建Maven项目打包提交wordcount到Storm集群
在上一篇博客中,我们通过Storm.Net.Adapter创建了一个使用Csharp编写的Storm Topology - wordcount.本文将介绍如何编写Java端的程序以及如何发布到测试的S ...
- Storm系列二: Storm拓扑设计
Storm系列二: Storm拓扑设计 在本篇中,我们就来根据一个案例,看看如何去设计一个拓扑, 如何分解问题以适应Storm架构,同时对Storm拓扑内部的并行机制会有一个基本的了解. 本章代码都在 ...
- Storm 系列(五)—— Storm 编程模型详解
一.简介 下图为 Strom 的运行流程图,在开发 Storm 流处理程序时,我们需要采用内置或自定义实现 spout(数据源) 和 bolt(处理单元),并通过 TopologyBuilder 将它 ...
随机推荐
- 传智播客JavaWeb听课总结
一. JavaWeb基础 第一天: 1.Eclipse详解: (1).Bad versionnumber in .class file:编译器版本和运行(JRE)版本不符合.高的JRE版本兼容低版本的 ...
- Delphi Mac App 名称支持国际化多语显示
作用:在 OSX 图标下方显示 App 中文繁体或简体的名称(系统自动选取) 适用:XE7, XE8 for OSX 操作: 创建一个新工程. 在工程目录下创建二个文件夹(zh_??.lproj)文件 ...
- 2016 大连网赛---Function(单调栈)
题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5875 Problem Description The shorter, the simpl ...
- iOS 获取网络图片的大小
一直都在找关于获取网络图片的大小的方法, 今天找到了一个能解决的办法 ,如下 1, 导入框架 #import <ImageIO/ImageIO.h> 2. 使用此方法得到image的siz ...
- nginx+uwsgi 部署 django
预装:nginx, django Django站点tree |Site |-----Blog(自建的项目) |-----Manage.py |-----Site(setting url wsgi-. ...
- Openfire重新安装
由于忘记密码等原因,无法启动openfire ,那就重装吧,废话不多说,命令行按步骤粘贴执行就好了. 1.先删除mysql数据 mysql -u root -p 输入密码:例如,123456 show ...
- linux 查找目录或文件详解
查找目录:find /(查找范围) -name '查找关键字' -type d查找文件:find /(查找范围) -name 查找关键字 -print 如果需要更进一步的了解,可以参看Linux的命令 ...
- PDF.NET框架学习篇之SQL-MAP使用存储过程
最近一直在学习“深蓝医生”的PDF.NET框架,对Sql-Map使用存储过程有了点小小的体会.基础知识请到http://www.cnblogs.com/bluedoctor/archive/2010/ ...
- 手动创建VS单元测试,显示代码覆盖率
Visual Studio 号称有史以来最强大的IDE,确实如此.创建单元测试也是一键完成:在方法的代码块中右键“Create Unit Test…”,勾选测试项,填项目名,完成.VS就会自动帮你创建 ...
- 12款免费的响应式 WordPress 主题下载
响应式和现代设计风格的多用途 WordPress 主题能够非常灵活的适应所有设备.而高级主题能够更轻松定制,您可以从主题选项中禁用/启用响应模式.多用途的响应式设计的主题是最适合杂志网站,博客网站,想 ...