storm在windows系统下安装调试
基础知识
Storm是一个分布式的,可靠的,容错的数据流处理系统。它会把工作任务委托给不同类型的组件,每个组件负责处理一项简单特定的任务。Storm集群的输入流由一个被称作spout的组件管理,spout把数据传递给bolt, bolt要么把数据保存到某种存储器,要么把数据传递给其它的bolt。你可以想象一下,一个Storm集群就是在一连串的bolt之间转换spout传过来的数据。
概念解释:
- spout: 读取原始数据为bolt提供数据。
- bolt: 从spout或其它bolt接收数据,并处理数据,处理结果可作为其它bolt的数据源或最终结果。
- nimbus: 主节点的守护进程,负责为工作节点分发任务。
- topology: 拓扑结构,Storm的一个任务单元。
- define field(s): 定义域,由spout或bolt提供,被bolt接收。
安装:
安装 zookeeper :
- 下载 zookeeper :http://zookeeper.apache.org/releases.html#download。
- 将 zookeeper-3.4.7.tar.gz 解压到目录,D:\bin\zookeeper-3.4.7。
- 复制文件 D:\bin\zookeeper-3.4.7\conf\zoo_sample.cfg 为同目录下的 zoo.cfg。
- 根据需要修改zoo.cfg的内容。
- 运行 D:\bin\zookeeper-3.4.7\bin\zkServer.cmd 。
安装 storm :
- 下载 storm : http://storm.apache.org/downloads.html 。
- 将 apache-storm-0.10.0.tar.gz 解压到目录,D:\bin\apache-storm-0.10.0 。
- 运行 D:\bin\storm.cmd nimbus
- 运行 D:\bin\storm.cmd supervisor
- 运行 D:\bin\storm.cmd ui
- 通过http://localhost:8080可以打开Storm Web UI,看看Storm集群的状态。
运行出错处理 :
- 如果报Java版本问题,请安装jdk1.7,并正确设置 JAVA_HOME。
- 设置环境变量 STORM_HOME=D:\bin\apache-storm-0.10.0 。
- 设置环境变量 STORM_CONF_DIR=%STORM_HOME%\conf 。
- 出现“java.net.malformedurlexception unknown protocol D”错误,请设置环境变量 STORM_LOGBACK_CONFIGURATION_FILE=file:///D:/bin/apache-storm-0.10.0/log4j2/cluster.xml
- 如果报“Unable to delete file”错误,是storm的一个bug,0.8.2版本还没有解决,这个错误在cluster.shutdown();时候抛出。用0.10.0版本不会出现这样的问题。
Storm Web UI 界面如下:
开始一个简单的例子
- class WordReader :从文件中读取文本内容,每读取一行 emit 给 bolts。
- class WordNormalizer :将一行文本内容按单词切分。
- class WordCounter :统计单词出现的次数。
- class TopologyMain :创建拓扑结构。
源代码见文件附件:examples-ch02-getting_started.zip。
本机调试
在开发工具中,直接运行TopologyMain,即可开始体验strom
把Topology发布到集群中
需要把 LocalCluster 换成 StormSubmitter 并调用submitTopology方法
//LocalCluster cluster = new LocalCluster();
//cluster.submitTopology("Count-Word-Topology-With-Refresh-Cache", conf,
//builder.createTopology());
StormSubmitter.submitTopology("Count-Word-Topology-With_Refresh-Cache", conf,
builder.createTopology());
//Thread.sleep(1000);
//cluster.shutdown();
接下来,把源码压缩成一个jar包,运行Storm客户端命令,把拓扑提交给集群。如果你已经使用了Maven, 你只需要在命令行进入源码目录运行:mvn package。
现在你生成了一个jar包,使用storm jar命令提交拓扑。命令格式:storm jar allmycode.jar org.me.MyTopology arg1 arg2 arg3。
对于这个例子,在拓扑工程目录下面运行:
storm jar Topologies-0.0.1-SNAPSHOT.jar countword.TopologyMain src/main/resources/words.txt
通过这些命令,你就把拓扑发布集群上了。
如果想停止或杀死它,运行:
storm kill Count-Word-Topology-With-Refresh-Cache
参考资料
storm 入门:http://ifeve.com/wp-content/uploads/2014/03/Getting-Started-With-Storm-Jonathan-Leibiusky-Gabriel-E_1276.pdf
官方文档:http://storm.apache.org/documentation.html
说明:
1.此文档中的文件夹位置请根据需要修改。
2.此文档中中使用的软件版本不一定是最新的。
storm在windows系统下安装调试的更多相关文章
- storm在linux系统下安装调试
安装: 安装 zookeeper : 下载 zookeeper :http://zookeeper.apache.org/releases.html#download. 将 zookeeper-3.4 ...
- Windows系统下安装zabbix客户端
简单介绍如何在windows系统下安装zabbix客户端 1. 首先下载和zabbix服务端大版本相同的windows客户端 例如我服务端安装的是zabbix-3.4.14.tar.gz ...
- Windows系统下安装MySQL 8.0.11数据库
MySQL数据库是常用的数据库之一,而且该数据库开源免费,所以很多公司在使用.本文记录如何在Windows系统下安装MySQL数据库,本次安装的版本号为8.0.11,这个版本是当前的最新版本,据宣传, ...
- tomact在windows系统下安装
一.下载 下载地址: https://tomcat.apache.org/download-90.cgi 7,8,9的版本都可以下,这里下载最新版本 注意:Binary是编译好的,可以直接使用的版本, ...
- JDK8在windows系统下安装
一.下载 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html#JDK8 目前大部分公司内部使用的还是jdk ...
- nssm常用命令(在Windows系统下安装服务的工具)
nssm install servername //创建servername服务 nssm start servername //启动服务 nssm stop servername //暂停服务 ns ...
- windows系统下安装MySQL
可以运行在本地windows版本的MySQL数据库程 序自从3.21版以后已经可以从MySQL AB公司获得,而且 MYSQL每日的下载百分比非常大.这部分描述在windows上安装MySQL的过程. ...
- Tomcat Windows 系统下安装及注意事项
1 获取Tomcat 安装包 http://tomcat.apache.org/ tar.gz 文件是Linux系统下的安装版本 exe文件是 Windows系统下的安装版本 zip 文件是Wind ...
- 无光驱在32位windows系统下安装64位windows系统
位的系统. 大家都知道,32位的操作系统最多只能支持3.2G的内存,现在内存白菜价,很多人都在原有基础上购入新内存,这样最少也有4G了,为了让内存不浪费,我 们只有升级到64位操作系统.但是很多朋友又 ...
随机推荐
- Androidi性能优化之Java代码优化(摘自Android性能优化一书)
代码优化不是应用开发的首要任务,提供良好的用户体验并专注于代码的可维护性,这才是你的首要任务.事实上,代码优化应该是最后才做,甚至完全可能不去做,不过,良好的优化可以使程序性能直接达到一个可接受的水平 ...
- Java Hour 14 多线程基础
有句名言,叫做10000小时成为某一个领域的专家.姑且不辩论这句话是否正确,让我们到达10000小时的时候再回头来看吧. 本文作者Java 现经验约为13 Hour,请各位不吝赐教. 多线程 这个是基 ...
- 手把手教你在Windows下使用MinGW编译libav(参考libx264的编入)
转自:http://www.th7.cn/Program/cp/201407/242762.shtml 手把手教你在Windows下使用MinGW编译libav libav是在Linux下使用纯c语言 ...
- Codeforces Round #318 [RussianCodeCup Thanks-Round] (Div. 2) B. Bear and Three Musketeers 枚举
B. Bear and Three Musketeers ...
- 作用域与闭包:this,var
var 作用域 先来看个简单的例子: var parent = function () { var name = "parent_name"; var age = 13; var ...
- MATLAB信号与系统分析(四)——离散信号与系统的复频域分析及MATLAB实现
一.系统的z变换和反变换 1.利用部分分式展开求解逆Z变换: 2.例子 3.Z变换的MATLAB函数 clear all f=sym('cos(a*k)'); F=ztrans(f) F=sym('z ...
- VMware Workstation卸载清理批处理命令
echo offclsecho "flag">>%windir%\system32\test.logif not exist %windir%\system32\tes ...
- hbase shell中log4j重复问题
[root@centos ~]# hbase shellSLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding ...
- cookie 暂时保存内容与恢复
<script type="text/javascript"> $(function(){ $('.ycb_anniu').click(function(){ $.co ...
- LoadRunner11支持的浏览器小结
LoadRunner11录制脚本时不能打开IE浏览器,解决方案有以下几个步骤: l LoadRunner11支持的浏览器版本最高是ie9,把浏览器版本换成ie9; l 打开IE选项----高级—去 ...