立即注册
登录
About云-梭伦科技
返回首页
lorrie的个人空间
https://aboutyun.com/?54730
[收藏]
[复制]
[分享]
[RSS]
空间首页
动态
记录
日志
相册
主题
分享
留言板
个人资料
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
首页
Portal
专题
BBS
面试
更多
我的空间
好友
帖子
收藏
道具
勋章
任务
动态
日志
相册
分享
记录
留言板
群组
导读
日志
Storm的特性
热度
1
已有 1611 次阅读
2017-2-15 14:24
|
个人分类:
hadoop
|
基础知识
基础知识
Storm集群的输入流由一个被称作
spout
的组件管理,
spout
把数据传递给
bolt
,
bolt
要么把数据保存到某种存储器,要么把数据传递给其它的
bolt,
不像其它的流处理系统,Storm不需要中间队列
spout
龙卷,读取原始数据为
bolt
提供数据
bolt
雷电,从
spout
或其它
bolt
接收数据,并处理数据,处理结果可作为其它
bolt
的数据源或最终结果
nimbus
雨云,主节点的守护进程,
类似Hadoop里面的JobTracker,
负责为工作节点分发任务
Supervisor会监听分配给它那台机器的工作,根据需要启动/关闭工作进程
Nimbus和Supervisor之间的所有协调工作都是通过Zookeeper集群完成
Storm集群和Hadoop集群表面上看很类似。但是Hadoop上运行的是MapReduce jobs,而在Storm上运行的是拓扑(
topology
),这两者之间是非常不一样的。一个关键的区别是: 一个MapReduce job最终会结束, 而一个topology永远会运行(除非你手动kill掉)
Storm组件
在Storm集群中,有两类节点:主节点
master node
和工作节点
worker nodes
。主节点运行着一个叫做
Nimbus
的守护进程。这个守护进程负责在集群中分发代码,为工作节点分配任务,并监控故障。Supervisor守护进程作为拓扑的一部分运行在工作节点上。一个Storm拓扑结构在不同的机器上运行着众多的工作节点
在系统底层,Storm使用了zeromq。这是一种先进的,可嵌入的网络通讯库,
像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。
下面列出一些zeromq的特性。
一个并发架构的Socket库
对于集群产品和超级计算,比TCP要快
可通过inproc(进程内), IPC(进程间), TCP和multicast(多播协议)通信
异步I / O的可扩展的多核消息传递应用程序
利用扇出(fanout), 发布订阅(PUB-SUB),管道(pipeline), 请求应答(REQ-REP),等方式实现N-N连接
Storm的特性
简化编程 使用Storm,复杂性被大大降低了。
容错 Storm集群会关注工作节点状态,如果宕机了必要的时候会重新分配任务。
Storm
并不会跟踪消息树中的每个消息,而是采用了一些特殊的策略,它把消息树当作一个整体来跟踪,对消息树中所有消息的唯一id进行异或计算,通过是否为零来判定spout发出的消息是否被“完全处理”
可扩展 所有你需要为扩展集群所做的工作就是增加机器。Storm会在新机器就绪时向它们分配任务。
可靠的 所有消息都可保证至少处理一次。如果出错了,消息可能处理不只一次,不过你永远不会丢失消息。
快速 速度是驱动Storm设计的一个关键因素
事务性 你可以为几乎任何计算得到恰好一次消息语义。
路过
雷人
握手
鲜花
鸡蛋
收藏
分享
邀请
举报
发表评论
评论 (
1
个评论)
回复
ljlinux2012
2017-3-1 16:37
学习了
涂鸦板
您需要登录后才可以评论
登录
|
立即注册
评论
lorrie
加为好友
给我留言
打个招呼
发送消息
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈