大数据处理之流式计算简介-创新互联

  1. 简介

    成都创新互联公司:从2013年成立为各行业开拓出企业自己的“网站建设”服务,为近1000家公司企业提供了专业的成都做网站、成都网站建设、成都外贸网站建设、网页设计和网站推广服务, 按需定制由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。

    Strom是一个开源的分布式流式计算系统,用来处理流式的数据,被称作为流式的hadoop,在电信行业,可以用来做大流量预警、终端营销、访问竞争对手产品从而做挽留等业务。本文将从storm在hadoop生态圈中所处位置、storm中术语、storm平台搭建、storm应用程序构建等详细介绍storm。

  2. Strom在大数据生态圈中的位置

大数据处理之流式计算简介

  1. 上图可以看出,Storm处于HDFS之上,但是并不是说Storm只能是处理HDFS中数据,反而Storm的数据来源一般是Log日志或者是Kafka中数据,当数据通过Strom处理完成之后,其流向可以是HDFS、HBase、关系型数据库等。

  2. Strom是一个计算系统,在大数据处理中,我们耳熟能详的计算系统是mapreduce,这张架构图看出storm和mapreduce是同级关系,而storm被称作是流式的hadoop。所以接下来将通过与mapreduce进行对比来介绍storm

3.Strom常用术语介绍

StromMapReduce(基于hadoop2.X)描述
NimbusApplicationMasterMapReduce中Resourcemanager负责任务分配、资源申请,同样的在Strom中Nimbus负责代码的分发,任务的分配和调度工作
SupervisorNodeManagerMapReducer中NodeManager负责资源的申请,工作进程启动和监控,Strom中Supervisor同样负责任务进程的启动和停止
Worker
YarnChild真正负责任务处理的进程
TopologyMapReduce驱动程序






4.大数据处理之流式计算简介
  • Strom架构Topology:通过Storm构建的应用程序描述了数据的来源、数据的处理逻辑和数据的流向。

  • Spout:Topology中的组件,通过Spout描述了数据的来源,Spout中有一个nextTuple()函数,该函数会不停的被调用,源数据的生成就在该函数中实现,然后数据流向下一节点,每个Topology中只允许有一个Spout。

  • Bolt:Topology中的组件,该组件接收上一节点(Spout或Bolt)发射过来的数据,该组件中有一个execute(Tuple tuple)方法,当接收到数据后该函数会被动执行,进行合并、筛选、持久化等操作。Bolt可以是Topology中一次完整的数据处理流程的终点,或者是转移点。

  • Tuple:Tuple是Storm中传递消息的基本单元,Tuple的数据结构为一个List。

  • Stream:连续不断的Tuple就组成了Stream。

  • Stream grouping:描述了数据在不同的组件(Spout/Bolt)之间流转时,partition的规则,类型如下:

1.shuffle Grouping:随机分组,随机派发stream里面的tuple,保证每个bolt接收到的tuple数目相同
2.Fields Grouping:按照字段分组,相同的字段会分配到相同的bolt,不同的字段分配到不同的Bolt
3.ALL Grouping:广播,对每一个tuple,所有的bolt都会收到
4.Global Grouping:全局分组,这个tuple被分配到storm的一个bolt的一个task内,即id最低的那个
5.Non Grouping:不分组,目前效果和Global Groouping一样
6.Direct Grouping:直接分组,指定消息的接收者。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文题目:大数据处理之流式计算简介-创新互联
分享地址:http://scyanting.com/article/djjssi.html