惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
C
Check Point Blog
博客园 - Franky
V
Visual Studio Blog
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
V2EX - 技术
V2EX - 技术
AI
AI
Hacker News - Newest:
Hacker News - Newest: "LLM"
Jina AI
Jina AI
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
H
Hacker News: Front Page
H
Hackread – Cybersecurity News, Data Breaches, AI and More
O
OpenAI News
Attack and Defense Labs
Attack and Defense Labs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
爱范儿
爱范儿
H
Heimdal Security Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
G
Google Developers Blog
G
GRAHAM CLULEY
V
V2EX
The Register - Security
The Register - Security
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
Schneier on Security
Schneier on Security
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
Help Net Security
Help Net Security
大猫的无限游戏
大猫的无限游戏
C
CERT Recently Published Vulnerability Notes
The GitHub Blog
The GitHub Blog
V
Vulnerabilities – Threatpost
The Last Watchdog
The Last Watchdog
J
Java Code Geeks
S
Secure Thoughts
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
量子位
NISL@THU
NISL@THU
K
Kaspersky official blog
Engineering at Meta
Engineering at Meta
T
Threatpost
Recent Commits to openclaw:main
Recent Commits to openclaw:main
宝玉的分享
宝玉的分享
Security Latest
Security Latest
T
The Exploit Database - CXSecurity.com
博客园_首页
A
Arctic Wolf

月光博客

AI编程从零开始:环境配置到开发调试-月光博客 母亲被保健品诈骗-月光博客 向身体低头,向岁月妥协:我的高血压“还债日记” -月光博客 月光博客电子书:《信息安全指南》 谷歌发布2025年度搜索排行榜 中国2025社会热点大事记 2025年十大流行语发布 7天3次,骗子骗走我母亲95万元 “技术男”设三重安全墙,母亲95万存款还是被骗走了 电信诈骗后的复盘:母亲的95万元,是怎么从手机银行里消失的 母亲被电信诈骗95万元的全过程 阿根廷警察被谷歌街景相机拍到裸照 网信办开展“清朗·整治恶意挑动负面情绪问题”专项行动 翟欣欣敲诈勒索案一审获刑12年 《绝命毒师》影评:力工觉醒后的梭哈至死 《人工智能生成合成内容标识办法》正式施行 用AI分析你的财务信息 腾讯子公司实习HR怒怼求职者后被开除 OpenAI发布最强模型GPT-5,免费向所有用户开放 用AI解构你的日记 用AI分析你的游戏偏好 用AI分析你的观影偏好 用AI分析你的听歌偏好 《白鹿原》人物分析:乱世浮沉中的人性剖析 乌托邦的捷径:让AI治理“失败国家” 苹果AI的“路径错误”:为什么它在大模型时代掉队了? 《暗黑破坏神3》第35赛季开荒指南 我对特朗普的看法 欧·亨利十大经典小说鉴赏 HBO电视剧《最后生还者》第二季影评 播客自动化更新分发教程 《围城》人物分析:知识分子的时代困局 NotebookLM音频概览支持中文 《暗黑破坏神3》国服回归 《暗黑破坏神3》国服赛季开荒指南 《网络数据安全管理条例》正式发布实施 契约之下的自由:社会契约论 如何去除文章的AI味道 电影《好东西》影评 我的价值观:义务论和效益论 《魔兽世界》正式服PVP教程 电影《哪吒2》影评 中医理论不是科学理论 DeepSeek与主流AI模型对比评测 TikTok停止在美国服务 我的三观(世界观、价值观、人生观) 《无限暖暖》游戏评测 2024年财经年度总结 月光博客2024年推荐阅读文章 IMDb公布2024年热门电影和电视剧 2024年十大流行语发布 谷歌发布2024年度搜索排行榜 中国2024社会热点大事记 Google Adsense税务居住地证明申请教程 极狐GitLab回应前员工实名举报公司高管:恶意诽谤造谣 升级FTTR千兆光纤带宽 字节跳动起诉前实习生索赔800万 看完历届奥斯卡最佳影片后的体验 李子柒已经正式改名并恢复更新 苹果历年新春短片 “姜萍事件”调查结果公布 胡锡进社交平台恢复更新 上海女子沙白自杀的伦理道德分析 京东与杨笠一起玩火 字节跳动大模型训练被实习生攻击,涉事者已被辞退 《加勒比海盗》系列电影 《夺宝奇兵》系列电影时间线 《侏罗纪公园》系列电影时间线 《终结者》系列电影时间线 华为禁止用户从外部手动安装安卓应用(APK文件) 《炉石传说》国服回归一片混乱 官媒辟谣苹果手机被远程引爆 小米回应摄像头里出现陌生男子说话 环球人物:民族大义不是流量密码,盲目排外没有土壤 《异形》系列电影时间线 看完IMDb250后的体验 暴雪《炉石传说》国服开启预约 网易DD参与代打《魔兽世界》事件的深入分析 福建男子四年前“翻墙”浏览境外网站被行政处罚 《魔兽世界》正式服开服两周游戏体验 暴雪游戏足迹查询:查看暴雪游戏的数据 用AI分析你的推特社交网络数据 胡锡进停更三个月 国家网络身份认证公共服务管理办法向社会公开征求意见 苹果将部分产能转回中国 Windows全球大范围蓝屏 电影《V字仇杀队》影评 微软中国员工禁用安卓手机:只能用iPhone 《魔兽世界》怀旧服“巫妖王之怒”游戏体验 百度旗下萝卜快跑已在多个城市开放载人测试 我为什么不喜欢华为这家企业 胡锡进:强烈谴责苏州袭击日本人的凶手 20美元在美国超市的购买力 华为紧急辟谣“是国内最大的牛肉进口商” 苹果公司公布2024年Apple设计大奖获奖名单 自动生成电影剧本:人工智能技术的崭新里程碑 电影《芳华》人物分析 Steam账号被盗号的解决方法 中文互联网内容正在逐步消失 马斯克:推特域名已全部转移到X
浅析Apache Storm 0.10.0-beta发布:剑指Heron
投稿 · 2015-06-17 · via 月光博客

在浅析Storm的发布版本之前,先吐槽一下Storm的版本号。我是从0.8.0版本开始接触Storm的,那时候Storm还是推特的开源项目,作为一个Storm的半个老鸟,看到Storm又推出了一个新版本,当然是有些想法的。从2013年,Apache接手Storm之后版本号的发布继续延续了以前的风格。说白了就是众人期望了无数年,版本依然没有过“1”。

浅析Storm 0.10.0-beta

//顺序按照官网的要点顺序,翻译+个人见解

一、集群安全性以及多用户调度部署。

我们先把官网列的点列出:

  • Kerberos Authentication with Automatic Credential Push and Renewal

  • Pluggable Authorization and ACLs

  • Multi-Tenant Scheduling with Per-User isolation and configurable resource limits.

  • User Impersonation

  • SSL Support for Storm UI, Log Viewer, and DRPC (Distributed Remote Procedure Call)

  • Secure integration with other Hadoop Projects (such as ZooKeeper, HDFS, HBase, etc.)

  • User isolation (Storm topologies run as the user who submitted them)

在早期的Storm设计中,并没有考虑系统安全性的问题。

其实大部分开源软件的发展过程都差不多,早期的发展肯定是以功能以及性能为主,在发展到一定阶段之后,系统安全才会被加以考虑。如今,随着Storm的发展,以及当前实时业务需求的上涨,实际的集群部署也越来越多,安全性的需求也越来越高。

这次在安全性的支持方面,除了Storm的社区,雅虎、赛门铁克还有Hortonworks作出了不小的贡献。

主要改动点:

  • (1)自动更新Kerberos身份验证机制;

  • (2)可插拔的访问授权以及访问控制机制;

  • (3)支持多用户调度,并且对于不同用户可灵活配置资源;//这一点在向资源集中调度方向靠拢

  • (4)模拟多用户调度;

  • (5)UI方面的改进,支持SSL协议的日志查看器、DRPC页面监控;

  • (6)优化了与Hadoop生态的集成,主要是安全性方面,包括Zookeeper、Hbase以及HDFS等等;//随着大数据平台一体化,Storm的推广,越来越多的Hadoop生态组件会集成进去

  • (7)多用户的隔离,即每个用户中允许操作自己提交的拓扑任务;//其实这点跟在引入多用户的时候,必然是需要支持的

总结:

安全性方面,不多说,博客虫(微信ID:blogchong)感觉这个点在一般的企业来说,其实优先级是不高的;

重点是对多用户调度的支持,以及资源管理方面的优化,自从Hadoop2.0以后,资源的集中管理一直是一个热门方向,所以,Storm在这方面的优化还是值得期待的。

二、版本升级以及持续改进的优化

在过去,升级Storm往往会出现很多问题,涉及到拓扑的变更、拓扑的重新部署等等。究其因,不同版本之间的数据结构往往是有所出入的。所以,升级的过程不是一个完全向下兼容的过程。

从storm 0.10.0开始,版本的升级方面将有很大的优化,甚至是可以在不停止拓扑任务的情况下进行版本升级,整个过程也可以实现自动化。

总结:

随着Storm的实际部署节点越来越多,必然会面临版本升级的情况,所以这一点的改进是很重要的,因为其对于用户后续的持续使用是一个巨大的考验。

三、任务以及拓扑部署上的改进优化

熟悉Storm的朋友可能知道,对于拓扑任务的部署,往往有任何的拓扑改动,我们都需要进行代码的重新编译。如果部署的拓扑规模较大,这将影响很大。

在新改进的方向中,希望通过外部配置文件的形式,去定义拓扑的布局以及相关的配置。

先列上官网改进点:

  • Easily configure and deploy Storm topologies (Both Storm core and Micro-batch API) without embedding configuration in your topology code

  • Support for existing topology code

  • Define Storm Core API (Spouts/Bolts) using a flexible YAML DSL

  • YAML DSL support for most Storm components (storm-kafka, storm-hdfs, storm-hbase, etc.)

  • Convenient support for multi-lang components

  • External property substitution/filtering for easily switching between configurations/environments (similar to Maven-style ${variable.name} substitution)

主要改动点:

  • (1)优化拓扑的配置以及部署,在代码中将拓扑结构相关的东西剥离;

  • (2)依然支持现有的拓扑编码;//向下兼容

  • (3)使用灵活的YAML DSL去定义Spout以及Bolt;//说白了,还是在拓扑构建方面进行优化

  • (4)依然支持现有的一些接口,比如storm-kafka、storm-hbase、storm-hdfs;//依然是向下兼容,不多说

  • (5)多语言组件的支持;//以前虽然号称支持多语言,其实除了python以及java以外的语言,开发难度还是挺大的

  • (6)支持配置环境之间的切换,类似于Maven中${变量名}代替;

总结:

向下兼容的一些东西,咱就不多说了,这是版本升级的理所应当支持的功能;

重点在于拓扑结构的革命性改变,其实我们可以发现,Storm 0.10.0在灵活性使用方面做了很多的该进,包括了这个拓扑结构

四、提供新的分组策略:局部关键词分组

现有的Storm分组策略,在0.8版本到现在一直没有改变,如今引入了一个新的分组策略:局部关键词分组策略。

局部关键词分组与按字段分组(Grouping)一样,不同之处在于,其考虑了下游Bolt的负载情况,更好的利用了剩余资源,尽量达到了节点间的负载均衡。

总结:

从这点我们可以发现,Storm的革命性改进除了在灵活性方面,在资源调度方面也是不余余力啊。

五、优化了日志框架

调试分布式程序是一件很困难的事,通常我们会通过一个主要的信息来源去分析,那就是程序产生的日志文件。

但是这同样会产生矛盾,Storm是实时级别的架构系统,对于日志的记录层级难以掌控:多了,容易刷爆磁盘;少了,难以发现问题。

在Storm 0.10.0中,使用了log4j v2,这是一个具有更高的吞吐量以及更低的延迟的日志架构。并且更有效的利用资源,对于业务逻辑,我们可以轻松的追踪到。

同样,列上E文关键点:

  • Rolling log files with size, duration, and date-based triggers that are composable

  • Dynamic log configuration updates without dropping log messages

  • Remote log monitoring and (re)configuration via JMX

  • A Syslog/RFC-5424-compliant appender.

  • Integration with log aggregators such as syslog-ng

主要关键点:

  • (1)通过日志文件大小、时间日期组合的方式,触发日志的滚动;

  • (2)动态的修改日志配置,不会丢失日志数据;

  • (3)支持日志的远程监控,以及JMX的远程配置;

  • (4)支持RFC-5424协议;

  • (5)Syslog-ng的整合以及支持日志聚合;//未来很有可能使用syslog-ng完全替代syslog,不过需要时间验证

总结:

日志这一块的话,其实没什么多说的地方,现有日志其实也足够用了,问题不是很大,当然如果有更好的支持优化,肯定是大赞的。

六、支持Hive数据的接入

这个特性将会在0.13中引入,提供数据从Hive接入Storm的API,以及数据Hive落得的API,让数据从Storm到Hive的流程更加的合理以及方便,一旦数据在源头被提交,在Hive即可查询。

实现Storm到Hive的一体化,在微批处理以及事务处理中支持Hive。

总结:

依然是大数据平台一体化的改进,Storm与Hadoop生态的进一步“合体”。

七、Microsoft Azure Event Hubs的整合

在Azure云计算平台上支持Storm的部署执行,这个不多说。只能说Storm的影响力越来越大了,很多云平台已经主动和Storm“联姻”了。

八、对于Redis的支持

除了Hadoop生态,对于大行其道的Nosql,Storm也开始整合。跟其他组件的支持类似,提供了一些使用案例,同样是Storm大融合的趋势。

九、JDBC/RDBMS的整合集成

Storm 0.10.0支持高灵活可定制的集成,几乎兼容任何类型的JDBC。甚至允许拓扑元组数据与数据库数据在拓扑进行灵活的交互。

总结:

在Hadoop盛行之前,其实Storm的数据落地方式很单调,其中将Storm处理过后的数据存入数据库中是一种主流,所以,这一方面的优化可以说解决了很多历史遗留问题。

十、依赖冲突的优化

直接总结吧:在以往的Storm历史版本中,其实经常会出现依赖版本冲突的现象。在Storm 0.10.0中,对这方面作了优化。好吧,又是一个历史遗留问题,说明Storm在进一步规范化。

我们来梳理一下总结

在推特发布Heron后没几天,Apache就发布了Storm的0.10.0,不可谓不及时。

也难怪,Heron号称颠覆性的设计,虽然它暂时没有开源,虽然Storm已经占据了数据实时处理领域的半壁江山,但是依然危机感十足啊。

OK,还是回到正题,说说我的感想:

(1)大数据平台统一融合趋势

我在《DT时代变革的反思》一文中,曾经说到:支撑大数据得以发展的核心是数据平台。

在Hadoop大规模离线数据处理技术日渐成熟的今天,实时业务的需求逐渐在上升,这也是Storm得以快速发展的原因之一。

实时处理平台以及我们现在盛行的Hadoop生态平台,是两个不同的方向,逻辑上是分离的。

随着大数据处理的需求多样化,数据在不同平台上流通的需求很迫切。

如今,不管是现在版本Storm对Hive的支持、对redis的支持,还是以往中对HDFS、Hbase、Zookeeper的支持等,这都是Storm对于数据平台一体化做的努力。

在大数据平台方面,无论是实时处理,还是以Hadoop为代表的批量离线处理或者Nosql存储等几个方面,平台的统一融合将会是一个趋势。

(2)资源的集中管理

Storm在资源拓扑任务资源分配方面,一直以来都是一个硬伤。随着Hadoop2.0之后,Hadoop的资源统一交给Yarn管理,在分布式方面基本算是掀起了一股资源管理优化的风潮。

PS:翻译以及个人见解若有所误差,欢迎指正。

来源:博客虫投稿,原文链接

浅析Apache Storm 0.10.0-beta发布:剑指Heron