当前位置: 首页 > news >正文

Apache Storm 衍生项目之1 -- storm-yarn

欢迎转载,转载请注明出处,徽沪一郎。

概要

storm是一个近似于实时的计算框架,甩开hadoop上的原生mapreduce计算框架不只一条街。如果能将storm引入到hadoop中,对存储于hdfs的数据进行分析必然极大的提高处理性能。storm-yarn就是这样一个项目,由yahoo实现,目前已经开源。

除了storm-yarn试图将storm整合进hadoop,以提升hadoop的分析处理能力的尝试之外,Hortonworks也高调宣布在2014年推出整合了storm的hadoop发行版。当然Hortonworks的整合会基于storm-yarn,毕竟它们都属于yahoo系。

整合目的和优势

storm-yarn是来提升hadoop的处理分析能力,是对hadoop的增强,而非相反。

节选自Yahoo!开源运行在Hadoop上的Storm——Storm-YARN

  • 提供了巨大的弹性潜力。实时处理的负载一般不恒定,而且是不可预测的。就其本身而言,为满足需求峰值,Storm会需要更多资源。将 Storm和批处理搭配使用,Storm需要资源时可以从批处理作业那里窃取,当资源需求下降时再把资源还回去。Storm-YARN为实现这一理念奠定 了基础。
  • 很多应用将Storm用于低延时处理,而将Map/Reduce用于批处理,同时,两者之间会共享数据。通过将Storm放到物理上更接近数据源和/或同一流水线中其他组件的地方,可以减少网络传输,进而减少获取数据的总开销。

yarn介绍

Hadoop的核心部分由四个主要模块组成

  • hadoop common                       共用组件
  • HDFS                                       文件系统,用于数据存储
  • hadoop yarn                             进行资源管理
  • hadoop MapReduce                   计算框架

从下图中可以看出hadoop1到hadoop2的转换

Yarn的架构图如下所示。

Yarn是一个two-tier solution,将资源管理(resource managing)和job monitoring分离开,放到不同的实体上进行处理。在Master Node上,专注于Resource方面的管理(目前仅支持cpu, memory),而将job monitoring由application master来负责。

目前关于yarn的中文资料首推董西成的《Hadoop技术内幕:深入解析YARN架构设计与实现原理》

如何运行storm-yarn

处理逻辑简介

  • 由yarn来分配nimbus和supervisor的运行时所需要的资源
  • 真正将nimbus和supervisor带起来的是ApplicationMaster

小结

从开始研究storm源码到渐渐开始yarn框架和代码的学习说明当时选择一个小而精的开源入手逐步扩大研究范围的策略还是对的。

 

相关文章:

  • Excel中日期时间的计算及表达方式
  • SAP ABAP exporting list to memory ...SUBMIT 程序传输屏幕参数
  • JVM学习笔记之终:MyEclipse调优
  • 2014年北京高端网站建设怎样对待移动互联
  • Spring3系列10- Spring AOP——Pointcut,Advisor拦截指定方法
  • 使用升腾linux瘦客户机连接xendesktop实现USB KEY映射时,需要修改的文件。
  • 图解Team Foundation Server 2013系列
  • 制作 Windows 8.1 ADK 离线安装包
  • AsyncTask异步加载跟listview的结合
  • Raphael入门实例:动画与箭头
  • Activity加载模式
  • Ubuntu下Alt+Tab快捷键不能用解决办法
  • Google Scholar 论文参考文献的自动生成
  • discuz X2.5自己写代码,获取当前登录的用户信息
  • 通过搭建一个精简的C语言开发环境了解一个C程序的执行过程
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【知识碎片】第三方登录弹窗效果
  • axios请求、和返回数据拦截,统一请求报错提示_012
  • CSS相对定位
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • Fabric架构演变之路
  • flutter的key在widget list的作用以及必要性
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • JAVA并发编程--1.基础概念
  • Laravel 菜鸟晋级之路
  • Mysql优化
  • Netty源码解析1-Buffer
  • SSH 免密登录
  • storm drpc实例
  • ubuntu 下nginx安装 并支持https协议
  • Vue2 SSR 的优化之旅
  • Web设计流程优化:网页效果图设计新思路
  • 从零搭建Koa2 Server
  • 简单基于spring的redis配置(单机和集群模式)
  • 讲清楚之javascript作用域
  • 爬虫模拟登陆 SegmentFault
  • 区块链将重新定义世界
  • 推荐一个React的管理后台框架
  • 曜石科技宣布获得千万级天使轮投资,全方面布局电竞产业链 ...
  • ​​​​​​​​​​​​​​Γ函数
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • !!java web学习笔记(一到五)
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # Maven错误Error executing Maven
  • #传输# #传输数据判断#
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (3)(3.5) 遥测无线电区域条例
  • (python)数据结构---字典
  • (论文阅读30/100)Convolutional Pose Machines
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)http-server应用
  • (转)原始图像数据和PDF中的图像数据