storm
文章平均质量分 70
Zzreal
这个作者很懒,什么都没留下…
展开
-
初识Storm
1.什么是Storm?Storm是一个分布式的、高容错的实时计算系统。Storm对于实时计算的的意义相当于Hadoop对于批处理的意义。Hadoop为我们提供了Map和Reduce原语,使我们对数据进行批处理变的非常的简单和优美。同样,Storm也对数据的实时计算提供了简单Spout和Bolt原语。2.Storm适用的场景:①流数据处理:Storm可以用来用来处理源源不断的消息,并将处原创 2018-01-03 18:43:55 · 2979 阅读 · 0 评论 -
Storm的Trident特性
我们知道把Bolt的运行状态仅仅保存在内存中是不可靠的,如果一个node挂掉,那么这个node上的任务就会被重新分配,但是之前的状态是无法恢复的。因此,比较聪明的方式就是把Storm的计算状态信息持久化到database中,基于这一点,trident就变得尤为重要。因为在处理大数据时,我们在与database打交道时通常会采用批处理的方式来避免给它带来压力,而trident恰恰是以batch gr原创 2018-01-20 13:47:18 · 3346 阅读 · 0 评论 -
Storm的并发
Storm的并发1个worker进程执行的是1个topology的子集(注:不会出现1个worker为多个topology服务)。1个worker进程会启动1个或多个executor线程来执行1个topology的(spout或bolt)。因此,1个运行中的topology就是由集群中多台(可能是一台)物理机上的一个或者多个worker进程组成的。executor是worker进程启动的一个单独线原创 2018-01-18 21:14:43 · 3048 阅读 · 0 评论 -
Storm的调度
Storm调度调度器①EventScheduler:将系统中的可用资源均匀地分配给需要资源的topology,其实也不是绝对均匀,后续会详细说明②DefaultScheduler:和EvenetScheduler差不多,只不过会先将其它topology不需要的资源重新收集起来,再进行EventScheduler③IsolationScheduler:用户可定义这个topology的机器资源,sto原创 2018-01-18 21:10:26 · 3439 阅读 · 0 评论 -
Storm集群搭建
搭建storm集群(1)下载Storm ---apache-storm-1.1.1.tar.gz。(2)解压文件修改storm.yaml添加集群配置信息: ①去掉storm.zookeeper.servers:前面的注释,修改为集群中所有部署zookeeper的主机,当然都可以自己手动添加,具体配置如下: ②增加storm.local.dir选项,指定nimbus,原创 2018-01-02 10:31:39 · 3303 阅读 · 0 评论 -
Storm的DRPC
Storm drpc 1.DRPC介绍Storm是一个分布式实时处理框架,它支持以DRPC方式调用.可以理解为Storm是一个集群,DRPC提供了集群中处理功能的访问接口.其实即使不通过DRPC,而是通过在Topoloye中的spout中建立一个TCP/HTTP监听来接收数据,在最后一个Bolt中将数据发送到指定位置也是可以的。而DPRC则是Storm提供的一套开发组建,使用DRPC可以极原创 2018-01-14 19:46:38 · 3170 阅读 · 0 评论 -
Storm集成HBase、JDBC、Kafka、Hive
代码参上/** * storm集成Kafka、Hive、JDBC、HBase、HDFS * Created by sker on 17-11-13 * kafka集成storm,将数据发到JobBolt做中文分词逻辑; * 结果发到不同bolt,然后分别存入hive、hbase、mysql和hdfs */public class SegGoGo { public stat原创 2018-01-14 19:41:46 · 4360 阅读 · 0 评论 -
Storm的定时任务
参照代码理解Storm的局部和全局定时器。github传送门:https://github.com/ZzzzZzreal/StormGoGo/blob/master/src/main/java/timer/TimerTest.javapublic class TimerTest { //定义spout static class TimerSpout extends原创 2018-01-05 00:17:48 · 3427 阅读 · 0 评论 -
Storm的窗口操作
Storm可同时处理窗口内的所有tuple。窗口可以从时间或数量上来划分,由如下两个因素决定:窗口的长度(windowLength),可以是时间间隔或Tuple数量;滑动间隔(sliding Interval),可以是时间间隔或Tuple数量;※要确保topology的过期时间大于窗口的大小加上滑动间隔Sliding Window:滑动窗口按照固定的时间间隔或者Tuple数量滑原创 2018-01-05 20:10:09 · 5755 阅读 · 0 评论 -
Storm命令
Storm命令 ①activate--激活指定的拓扑。语法如下: storm activate topology-name ②classpath--打印出Storm客户端运行命令时使用的类路径(classpath)。语法如下: storm classpath ③deactivate--禁用指定的拓扑Spout。语法如下: storm deactivate topol原创 2018-01-04 21:10:17 · 3059 阅读 · 0 评论 -
Storm的Trident API
Trident API1)Apply Locally本地操作:操作都应用在本地节点的Batch上,不会产生网络传输①Functions:函数操作 函数的作用是接收一个tuple(需指定接收tuple的哪个字段),输出0个或多个tuples。输出的新字段值会被追加到原始输入tuple的后面,如果一个function不输出tuple,那就意味这这个tuple被过滤掉了。Func原创 2018-01-20 15:19:32 · 2924 阅读 · 0 评论