技术大牛分享Storm在Hadoop上的应用和云计算之OpenStack技术应用

AdMaster_Tech 发布于 2014/07/15 16:25
阅读 1K+
收藏 3

技术大牛分享Storm在Hadoop上的应用和云计算之OpenStack技术应用

本次技术大牛的分享源于AdMaster北京技术研发中心有幸邀请到OpenStack基金会董事,TryStack联盟执行董事,企业级云计算联盟(ECA) 副秘书长杜玉杰、中国科学院软件研究所综合信息系统技术重点实验室云计算与大数据系统研究组负责人李明宇博士。基于二位技术大牛在各自领域的影响力,特为AdMaster的技术研发人员带来了“Storm在Hadoop上的应用”以及“云计算之OpenStack技术交流”主题相关的分享。

首先,简要介绍下AdMaster:作为领先的数据解决方案提供商AdMaster(精硕科技)作为一家以技术驱动发展的数据应用公司,始终坚持技术是企业首要核心生产力的原则和方针。AdMaster拥有两个技术研发中心,分别位于北京和上海。同时,在AdMaster超过300位员工中,技术人员占比达60%。以下是分享内容的重点摘要,希望分享给行业内的技术小伙伴,大家共同交流和探讨。

Storm在Hadoop上的应用

李明宇博士的分享真得很棒。由于对storm还在认知,探索,熟悉的过程,所以在明宇分享时候,关注点主要在storm基本概念,开发相关,及常用的应用场景方面,主要包括以下几点
一.基本概念:
    1.Topologies:一个topology是spouts和bolts组成的图,通过stream groupings将图中的spouts和bolts连接起来。
    2.Streams:消息流stream是storm里的关键抽象。
    3.Spouts:消息源spout是Storm里面一个topology里面的消息生产者。
    4.Bolts:所有的消息处理逻辑被封装在bolts里面。

二.常用的逻辑分组方式:
    1.Shuffle Grouping:随机分组,随机派发stream里面的tuple,保证每个bolt接收到的tuple数目大致相同。
    2.Fields Grouping:按字段分组,比如按userid来分组,具有同样userid的tuple会被分到相同的Bolts里的一个task,而不同的userid则会被分配到不同的bolts里的task。
    3.其他的分组方式有:All Grouping, Global Grouping,Non Grouping,Direct Grouping,Local or shuffle grouping(这些应用与一些特殊场景)

三.Storm特性
    1.Storm保证每个tuple会被topology完整的执行。Storm会追踪由每个spout tuple所产生的tuple树(一个bolt处理一个tuple之后可能会发射别的tuple从而形成树状结构),并且跟踪这棵tuple树什么时候成功处理完。每个topology都有一个消息超时的设置,如果storm在这个超时的时间内检测不到某个tuple树到底有没有执行成功,那么topology会把这个tuple标记为执行失败,并且过一会儿重新发射这个tuple。
    2.为了利用Storm的可靠性特性,在你发出一个新的tuple以及你完成处理一个tuple的时候你必须要通知storm。这一切是由OutputCollector来完成的。通过emit方法来通知一个新的tuple产生了,通过ack方法通知一个tuple处理完成了。

最后,AdMaster的技术同事也分享了一些AdMaster内部在storm使用上的一些思考:
    1.当前开发的实时监控模块,使用了(1)和(2)两种分组方式,牵涉到分维度的数据,Fields Grouping能很好地将同维度的数据合理的分发到相同的Bolts里的一个task,这样保证了数据的准确性,然后使用Shuffle Grouping根据负载均匀地分组插入数据库。
    2.我们现在实时监控的应用场景瓶颈在于如何缩短延时,目前从数据采集到扩充,到入kafka这一过程的平均时间在5分钟左右,storm的设计初衷就是实时性,所以实时监控模块运算的的时间基本可以忽略。所以下一步就是思考如何优化代码逻辑,使数据能够延时更短,更加人性化的展现出实时数据。

云计算之OpenStack技术交流

杜玉杰老师作为OpenStack技术应用方面的专家,为我们带来了精彩的Openstack云计算的技术交流,以下是重点摘要总结:
1, Openstack简介
OpenStack是一个由rackspace和NSNA于2010年发布的云计算平台, 旨在为公有云和私有云提供一个易于扩展的、功能丰富的解决方案,也可以说OpenStack是一个云计算操作系统,它整合各种底层硬件硬件资源,为系统管理员提供Web界面的控制面板以方便资源管理,为开发者的应用程序提供统一管理接口,为终端用户提供无缝的透明的云计算服务。最近的icehouse版本主要包含了10个核心组件:
⁻ 计算(Nova)
⁻ 对象存储(Swift)
⁻ 块存储(Cinder)
⁻ 镜像(Glance)
⁻ 网络(Neutron)
⁻ 身份认证(Keystone)
⁻ 控制面板(Horizon)
⁻ 计量/监控服务(Ceilometer)
⁻ 编排组织服务(Heat)
⁻ 数据库服务(Trove)
2,Openstack部署
1) 部署模型一般是Three-node architecture, 分别是:
⁻ 控制节点
⁻ 网络节点
⁻ 计算机点
2) 潜在的技术难点
i. 网络
虚拟机比较多的情况下,虚拟网络会更加复杂, CPU需要消耗大量的资源匹配网络流表,灵活的网络管理会境地网络的性能。
ii. 镜像风暴
当镜像较多且每个镜像都很大时会消耗更多的网络宽带和 IO。
iii. Openstackapi
每个Openstack组件的api都监听单一端口,导致无法充分利用服务器资源,原生的dashboard使用同步方式调用api会导致用户端界面变慢
iv. 资源调度
内置的默认资源调度可能无法满足复杂的业务需求
v. 异构存储
企业内部异构存储新旧不一, 架构不一需要整合
3) 网络设计
Neutron 实质是一个定义良好的框架用来驱动 L2-L7 层不同的底层网络技术来为第三方应用独立地提供租户隔离的虚拟网络服务。目前支持的有flat, flatdhcp, vlan, vxlan, nvgre, mpls, openflow等。
会后由玉杰、明宇、OpenStack资深人士孙琦、AdMaster的同学等对OpenStack进行了深入探讨,如对OpenStack的存储方式在ZFS的应用,还有就是讨论用Swift单独管理其他虚拟机的镜像文件有哪些优缺点。
最后,重磅福利来袭。在AdMaster未来邀请的技术牛人分享会中,也欢迎AdMaster外部的技术小伙伴报名参与,和我们一起学习和成长。关注AdMaster官方微信:AdMastercorp随时了解我们的分享活动信息。每次10位名额,先到先得哦!
杜玉杰个人介绍:
杜玉杰是开源OpenStack推动者,OpenStack基金会董事,TryStack联盟执行董事,企业级云计算联盟(ECA) 副秘书长,China OpenStack User Group(COSUG)发起人,他在OpenStack领域非常出名,也是国内最早实践OpenStack的第一批人之一。
李明宇个人介绍:
李明宇,博士,中国科学院软件研究所综合信息系统技术重点实验室云计算与大数据系统研究组负责人。IEEE International Workshop on Cloud Computing for Signal Processing, Coding and Networking (IWCCSP)发起人和Program Chair,IEEE International Conference on Pervasive Computing Signal Processing and Applications特邀会议主席,在IEEE Transaction on Cloud Computing等多个国际期刊担任审稿人。
产学研结合的践行者,2008年进入中科院软件所工作以来,带领团队完成多个云计算方面的工程项目,在多个国家大型工程项目中负责虚拟化资源池的设计与实现,为多个互联网公司提供分布式系统相关的咨询和优化建议。
曾作为演讲嘉宾出席国际学术会议IC2E、C3沙龙、中国高校云教育创新技术应用及人才培养高峰论坛。

关于AdMaster精硕科技:
AdMaster(精硕科技)是中国领先的数据解决方案提供商,主要专注数据挖掘、分析和管理。AdMaster通过尖端的专业技术,完成了海量数据的价值挖掘,以软件即服务(SaaS)的商业模式,帮助企业创造价值。
公司业务主要覆盖:第三方数字广告审计和社会化媒体、电商及跨多屏整合领域的大数据分析、管理、应用及综合解决方案。终端涵盖个人电脑及移动设备。
AdMaster拥有国内最大的广告服务器集群,数据处理能力能够实现每秒接收超50W次的并发请求,每天新增数据量超过4TB,对1000亿条记录进行超过1000种维度的计算,这些“数字”也是推动AdMaster快速发展的核心动力。然而,支持这些“数字”的产生,是AdMaster对于技术发展的高度追求和投入,以及对于技术人才的培养和支持。
公司官网:http://www.admaster.com.cn/

 

加载中
返回顶部
顶部