行业报告-阿里技术沙龙_第1页
行业报告-阿里技术沙龙_第2页
行业报告-阿里技术沙龙_第3页
行业报告-阿里技术沙龙_第4页
行业报告-阿里技术沙龙_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(Longda

Feng)大纲特性Question

and

Answer.Jstorm概叙&

流式计算为什么开发JstormAlibaba现状AlibabaJStorm团队是国内最早开始使用storm的团队历经storm

0.5.1/0.5.4/0.6.0/0.6.2/0.7.0/0.7.1Jstorm

0.7.1/0.9.0/0.9.1/0.9.2一条龙服务应用开发平台开发系统运维(LongdaFeng)AlibabaAli300台机器左右消息量7000亿条年底2000台机器左右(LongdaFeng)AlibabaJstorm

是一个分布式实时计算引擎类似HadoopMR用户按照规定的编程规范实现一个任务,将任务放到Jstorm上,Jstorm就将任务7

*

24

小时调度起来Jstorm

比Storm

更稳定,功能更强大,更快。Storm上跑的程序可以一行代码不变运行在Jstorm上(LongdaFeng)Alibaba基于消息的流水线处理系统(LongdaFeng)Alibaba开发非常迅速,容易上手,只要遵守Topology,Spout,Bolt的编程规范即可开发出一个扩展性极好的应用,底层rpc,worker之间冗余,数据分流之类的操作,开发者完全不用考虑。(LongdaFeng)Alibaba扩展性极好当一级处理单元速度,直接配置一下并发数,即可线性扩展性能(LongdaFeng)Alibaba健壮当worker失效或机器出现故障时,自动分配新的worker替换失效worker调度器Nimbus

采用主从备份,支持热切(LongdaFeng)Alibaba准确采用Acker机制,保证数据不丢失。采用事务机制,保证数据准确性(LongdaFeng)Alibaba适合无状态计算处理单元处理的数据均来自input

Tuple,不含有额外依赖数据。场景:日志分析管道系统消息转化器统计分析器(LongdaFeng)Alibaba阿里拥有自己的实时计算引擎类似于hadoop

中的MR开源storm响应太慢开源社区的速度完全跟不上Ali的需求降低未来运维成本提供

技术支持,加快

业务响应速度(LongdaFeng)一些需求,无法定制化现有storm调度太简单Storm

任务分配不平衡RPC

OOM一直没有解决太简单对ZK

频繁。。。Alibaba现有Storm(LongdaFeng),1000+的物理机上运行着CDO

300+支付宝200+B2B

50+阿里

50

+共享事业群200+其他Alibaba在整个Storm一淘200+(LongdaFeng)AlibabaNimbus

实现HA当一台nimbus挂了,自动热切到备份nimbus(LongdaFeng)Alibaba原生Storm

RPCZeromq使用堆外内存,导致OS

内存不够Netty

导致OOMJStorm底层RPC

采用netty+disruptor保证发送速度和接受速度是匹配的(LongdaFeng)Alibaba现有Storm(0.9.0

已经fix)添加supervisor时,会触发任务rebalanceSupervisor

shutdown时,触发任务rebalance提交新任务时,当worker数不够时,触发其他任务做rebalance上叙问题不会在Jstorm中发生(LongdaFeng)Alibaba新上线的任务不会冲击老的任务新调度从cpu,memory,disk,net

四个角度对任务进行分配,已经分配好的新任务,无需去抢占老任务的cpu,memory,disk和net(LongdaFeng)AlibabaSupervisor主线程Spout/Bolt

的open/prepare所有IO,序列化,反序列化(LongdaFeng)Alibaba减少对ZK的

量:去掉大量无用的watchtask的心跳时间延长一倍Task心跳检测无需全ZK扫描(LongdaFeng)Alibaba彻底解决了storm

任务分配不均衡问题从4个维度进行任务分配:CPUMemoryDiskNet(LongdaFeng)Alibaba默认一个task,一个cpu

slot当task消耗

的cpu时,可以申请cpu

slot。需求:解决新上线的任务去抢占老任务的cpu。一淘有些task

起很多线程,单task消耗太多cpu(LongdaFeng)Alibaba默认一个task,一个memory

slot当task需要

内存时,可以申请

内存slot需求:在海狗项目中,solr

task

需要8G内存,而且其他任务2G

就够了(LongdaFeng)Alibaba默认task,不申请disk

slot当task

磁盘IO较重时,可以申请disk

slot需求:海狗/实时同步项目中,task有较重的本地磁盘读写操作(LongdaFeng)Alibaba可以强制某个component的task运行在不同的节点上需求:聚石塔,海狗项目,某些task提供web

service服务,为了端口不

,因此必须强制这些task运行在不同节点上(LongdaFeng)Alibaba可以强制topology运行在单独一个节点上需求:节省网络带宽Tlog中大量小topology,为了减少网络开销,强制任务分配到一个节点上(LongdaFeng)Alibaba可以自定义任务分配提前预约任务分配到哪台机器上,哪个端口,多少个cpu

slot,多少内存,是否申请磁盘需求:海狗项目中,部分task期望分配到某些节点上(LongdaFeng)Alibaba可以预约上一次成功运行时的任务分配上次task分配了什么资源,这次还是使用这些资源需求:CDO

很多任务期待重启后,仍使用老的节点,端口(LongdaFeng)Alibaba不同部门,使用不同的组名每个组有自己的Quato不同组的资源采用cgroups

硬(LongdaFeng)Alibaba解决应用的类和Jstorm的类发生应用的类在自己的类空间中需求:Log4j,

Logbak当应用

Hive时,使用thrift9,

与jstormthrift7(LongdaFeng)AlibabaWorker

全流水线模式Spout

nextTuple和ack/fail运行在不同线程需求:EagleEye中,在nextTuple做sleep和wait操作不会block

ack/fail

动作(LongdaFeng)Alibaba底层使用ZeroMq,

比storm

0%底层使用netty时,和storm快10%,并且稳定非常多(LongdaFeng)Alibaba(LongdaFeng)Alibaba(Longda

Feng)Alibaba(LongdaFeng)Alibaba(LongdaFeng)AlibabaZeromq

减少一次内存拷贝增加反序列化线程重写采样代码,大幅减少采样影响优化ack代码优化缓冲map性能Jav

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论