Heron(一)—-storm的一些短板

twitter在使用storm过程中发现了一些storm的弊端,开发Herons相对storm需要提升的几个特性:1)更好的扩展性, 2)更容易调试 3)更高的性能  4)更好管理–可以和其他系统复用资源

storm的短板:

1)storm的worker调度策略非常复杂,一台机器上的多个worker由操作系统调度,worker中的每个executor会映射两个线程,这些线程的调度就使用jvm预先设定的基于优先级的调度策略,而每个线程需要运行多个task,excutor有需要根据输入数据运行合适的task。这个多层次的调度规则非常复杂,根本搞不清目前到底是那个task在被调度执行。

2)每个worker可能运行完全不同的task,比如:一个kafka spout,一个做关联的bolt,和一个把输出数据写入KV系统的bolt可能运行在一个JVM中,这种情况下根本无法优化某个task的问题,如果有问题只能重启topology,而重启之后这几个task又不见得会分配到同一个worker中,导致问题很难定位。

3)同一个worker中的不同task的日志会打印在同一个文件中,导致某个task的错误日志非常难以查找。更有甚着,如果某个task有问题可能导致真个worker进程崩掉,导致其他task也不能正常工作了,也就是说局部的错误会被放大。

4)在资源分配方面,storm任务每个worker都是对等的,这个假设经常会造成资源浪费,例如3个spouts和1个bolt , 加入每个spout和bolt各自要5G和10G内存 , 这样的话 , topoogy必须为每个worker预留15G的内存来跑一个spout和一个bolt , 假如用户设置worker数为2 , 那么两个worker就要总共预留30G内存 , 但是实际上只要 3*5 + 1 *10 = 25G内存 , 这样就白费了5G。这个问题当worker中的组建变得越来越多,越来越复杂的时候回变得更加糟糕。在tiwtter使用高级别抽线的DSL
summingbird(杨晓青注:summingbird是tiwtter开源的类似pig的同一套代码可以同时在hadoop和storm平台运行的DSL)的时候这种问题经常出现。

5)随着worker JVM heap的变大,当使用jstack或者heap dump对worker进行问题定位的时候,经常会导致worker的hearbeat超时,导致supervisor将worker kill掉并重启。这个导致问题非常难以定位。

6)storm的worker使用一些线程和队列进行tuple的发送和接受,一个全局的接受线程负责接收上游数据,一个全局的发送线程负责数据发送,然后每个executor有一个logic thread执行用户代码,一个本地的send thread来做logic thread与全局的发送线程之间做数据通信,每个tuple进入一个worker到出来需要经过4个线程转发。

storm nimus的一些问题

nimbus负责很多功能,包括:任务调度,任务监控,分发jar,而且作为metric信息的server进行一些metric信息的统计。当topology变多的时候,nimbus会成为瓶颈。

1)nimbus的调度器不支持worker细粒度的资源隔离,不同topology的worker会运行到同一个屋里机器,可能会互相影响,如果每个机器上运行一个worker又太浪费资源了,及时使用storm on yarn的模式也解决不了这个问题。

2)storm使用zk作为存储所有的心跳信息,以及任务的分配信息,当topology变多的时候zk会成为瓶颈。(杨晓青注:在阿里巴巴的经验,机器到300台,excutor到达10w的时候会出现zk性能问题)

3)nimbus单点故障,不是HA

缺少背压机制:

storm没有背压机制,如果某个元组无法处理输入的data/tuple,发送者会简单的丢弃这些tuple,虽然这是个fail-fast的设计,而且很简单,不过会带来如下弊端:

1)当通知机制关闭的时候,会有很多的tuple被丢弃掉,而且很难看到这些丢弃的过程。

2)上游的计算随着中间tuple的丢弃而丢失

3)系统的行为非常难以预测

效率

在生产环境,很多实例的性能无法预测,他们可能发生tuple失败,重发,数据的到达速率超过元组处理速率等,这些影响性能问题基本都是由以下原因:

不合适的重发—-整个tuple 树的任何地方出错都会导致整个tuple树的失败,针对这个失败系统只是做了简答的从源头重发。

长时间的GC—-当worker占用很多内容时,JVM GC的时候时间会比较长,但只高延时和很多tuple失败重发。

队列竞争—-一些情况下在transfer queue上会有很多竞争,特别是一个worker中跑很多executor的时候。

为了避免这些问题,我们经常得多分配资源,带来更多的资源消耗。

例如,在一个简单的三阶段的storm topology大概需要600个占用率在20%到30%的cpu核,为了更好的理解cpu时间的消耗,我们写了一个简单的程序接收所有的tuple并且使用thrift进行反序列化,这个过程消耗了25个使用率在90%的cpu核,也就是说需要使用率在30%的核75个,只有600个核的1/8.

即使在最差的情况下,及时进行count计算和数据移动的消耗和读取数据并进行反序列化的消耗一样,那也只需要150个核。

(未完待续)

时间: 2024-11-07 18:28:30

Heron(一)—-storm的一些短板的相关文章

小米新旗舰“翻车” 冲击中高端凸显品控短板(小米的缺点还真不少:电商、性价比、爆款、粉丝经济,说到底也都只是商业上的创新)

小米新旗舰“翻车” 冲击中高端凸显品控短板 按照消费者的理解,旗舰手机应该是绝大部分用户在手机选购上的终极选择,任何产品一旦定位旗舰市场,必定有顶级的价格和顶级的使用体验,功能上无所不能,质量上更是坚若磐石.然而,2017年小米手机有点烦,其刚刚发布的小米手机6是小米今年的重磅中高端新品,也是小米重塑品牌形象再次冲击中高端市场的关键,不过上市以来却出现了充电重启.WiFi断流等问题. 实际上,小米从2015年推出小米Note系列起就开始向中高端进军,只是效果一直不理想.既要有销量又要有口碑,从这

《zw版·ddelphi与halcon系列原创教程》Halcon的短板与delphi

[<zw版·delphi与Halcon系列原创教程>Halcon的短板与delphi 看过<delphi与Halcon系列>blog的网友都知道,笔者对Halcon一直是非常推崇的,简直是天下第一,无所不能.     的确,Halcon是目前蓝星上最强的图像库,也许某些国家军用卫星的图像库,精度会高一点,这个只能猜测.     Halcon毕竟只是图像库而已,作为开发平台,与专业的delphi.vs相比,还是有很大差距的.      有经验的用户,特别是从事二次开发的外包团队,采用

2015应该如何应自己的短板

2014年底来到现在的这家公司,同事和领导还都很好相处,与之前的公司的官僚主义截然相反(当然在这说自己的上家公司的坏话有些不太光明磊落,我只是想阐述事实罢了).来罗列一下我自己的短板: 1.可能对于IT的一些技术我都有所了解(JS.Html+Css.Jquery.Ajax.Wpf..net)等,但不精通: 2.文档的编写能力,例如:需求文档.开发文档.使用说明文档 这是我的又一软肋 3.与同事.直接领导的相处之道 -----------------------------------------

金牌董秘肖莉去职 万科合伙人制短板显现

金牌董秘肖莉去职 万科合伙人制短板显现 公司动向中国经营报[微博]2014-11-15 00:03 我要分享 3 11月11日,万科成立30年来唯一的女董事.高级副总裁肖莉跟万科“散伙”了.当天中午,肖莉通过朋友圈发出辞职信称,为了追求新的职业梦想,其将告别20年的万科黄金岁月,加盟深圳一家年轻的创业公司“房多多”,成为其合伙人.为完成工作交接,今年内将继续在万科履职一段时间,出席既定的境内外投资者会议. 这是近年来继徐洪舸.肖楠.刘爱明.袁伯银.杜晶之后,从万科出走的第6位副总裁级别高管. 对

IT建设如何面对“短板”和“孤峰”?

在与很多企业探讨信息化建设时,很多IT负责人都提出过一个问题,企业信息化建设的资源是有限的,信息化的资源是先强化企业的“孤峰”还是先支持“短板”? 企 业虽说是一个整体,但不同的领域如研发.生产.市场.销售.质量.管理等等发展是不均衡的,其中有些领域是企业的相对优势,甚至成为核心竞争力:还有些领 域相对比较弱,被称为短板.在企业规划IT建设的时候,往往会存在争论,优势部门会强调竞争对手正在追赶,企业要投入资源强化发展,IT资源也必须支持: 薄弱部门也会强调企业资源投入不足,与标杆企业对比存在很大

挑战三星霸主地位,国产手机还需补齐短板

近年来,国内出现了以中华酷联.小米为代表的优秀国产手机品牌,坦白说,在智能手机迅猛发展的今天,国内厂商积极布局智能手机领域不足为奇,因为这一市场目前仍未饱和,且发展空间巨大. 在国产厂商相继崛起后,有关颠覆三星智能手机行业霸主的言论甚嚣尘上,但国产厂商真能如愿以偿吗?在笔者看来,这样的说法有些草率. 首先,国内品牌之所以能占据一席之地,基本上都是靠价格战.走低端路线来赢得市场,真正的核心竞争力并未形成.再者,三星与国产手机品牌的竞争重合度高,同时在营销体系.核心技术.产品线等层面上,国产手机也明

AI创投的冰与火之歌:泡沫、跟风、短板和有钱花不出去的沮丧【转】

转自:http://36kr.com/p/5071386.html 国内的AI行业仍处于野蛮生长阶段.热钱不少,优质项目却不多.创业者拿钱难,投资者有钱却花不出去. 编者按:本文来自微信公众号“刺猬公社”(ID:ciweigongshe),作者哲铭:36氪经授权发布. 江山代有风口出,各领风骚一两年.这两年在全世界的创投圈都异军突起的人工智能(AI),最近风头似乎被共享充电宝盖过了.AI创投圈呈现出一面是冰.一面是火的奇异景象. 今年3月5日雷军表示,小米将增加对人工智能的投资.恰巧就在同一天,

找出你的短板

<软技能:代码之外的生存指南>第35章发现自己的知识短板,本章的内容都是关于发现妨碍你发挥自身全部潜能的知识短板的.我们将研究这些短板为何会存在,如何找到它们,以及最终如何填补它们,从而让你不受自己所不知的限制.本节为大家介绍找出你的短板. 找出你的短板 你的知识短板并不全都显而易见.事实上,大多数的知识短板,你只能隐约觉察到.对于自己不知道的,你很难清楚地意识到,也很容易忽略. 知识短板会阻碍你进步.准确识别它们的最佳方式之一就是看看自己在哪些工作上花费了大量的时间,或者一直进行重复性劳动.

【芯调查】库存高启、生态倒戈 小米再现供应链短板

陈宝亮·04-03 15:19·数码 来源:爱集微 导读:严重的库存积压重现了2015年的危机,但对于如今已经在硬件生态.国际市场全面扩张的小米而言,供应链短板带来的制约远比2015年更危险. 文/陈宝亮  校对/范蓉 新春伊始,小米却进入了多事之秋.再次断货的小米9.甚嚣尘上的“故意饥饿营销”,都让小米应接不暇.而财报中披露的“历史最高的成品库存率”.“跌宕起伏的手机销量”,更让小米如同回到了“未能完成8000万目标”的2015年. 2014年,小米以6000万台销量.119亿美元营收.135