你好,游客 登录
背景:
阅读新闻

数据立方云计算一体机

[日期:2013-11-11] 来源:云创存储  作者: [字体: ]

  数据立方云计算一体机是南京云创存储科技有限公司自主研发的大数据处理平台,采用英特尔E5家族系列CPU及英特尔服务器组件,具有超高性价比、超高处理性能、超高可靠性等特性,提供千亿纪录级别的海量数据实时入库、实时检索等功能。

  数据立方云计算一体机是一种处理海量数据的高效分布式软硬件集合的云处理平台,该平台可以从TB乃至PB级的数据中挖掘出有用的信息,并对这些海量信息进行快捷、高效的处理。平台支持100GBps以上量级的数据流实时索引,秒级响应客户请求,秒级完成数据处理、查询和分析工作。平台可以对入口数据进行实时索引,对数据进行分析、清理、分割,并将其存储在云存储系统上,不仅在入库和检索时具有非常高的性能优势,还可以支持数据深度挖掘和商业智能分析等业务。

  系统架构

  cProc云处理平台是搭建在云存储系统上,对业务层直接提供对外开发接口和数据传输接口的分布式数据处理平台。cProc云处理平台是一种处理海量数据的并行编程模型和计算框架,用于对大规模数据集的并行计算。

                                                                  系统架构图

  云存储层包括公司自主研发的云储存系统cStor和apache开源云储存系统HDFS;而在数据管理层中,包含数据立方、Hbase;数据处理层包含JobKeeper和MapReduce;最后的监控协调层则包括zookeeper和Chukwa来实现对整个系统的实时监控和数据管理。

  cProc云计算平台通过把对数据集的大规模操作分发给网络上的每个节点实现数据处理,每个节点会周期性的把完成的工作和状态的更新报告回来。随着节点的增多,cProc云计算平台的处理能力将成倍数增长。cProc支持100GBps以上量级的数据流实时索引,1s内响应客户请求,秒级完成数据处理、查询和分析工作。

  任务监控器(JobKeeper)

  JobKeeper调度平台是建立于虚拟化资源层之上,统一调度,统一配置的管理平台,用于对集群中任务实时的处理调度,实时结果集的反馈,集群的负载均衡,失败调度,集中管理,集中配置的平台。用来保证整个集群的超低人员干预。同时,提供完善的集群伸缩机制为整个服务提供更高的可靠性。

  应用层是一组用于管理和结果反馈的显示组件,用于显示任务的处理情况以及集群中机器的活动情况,同时其也是一个上层应用和底层服务的对接平台,是整个系统面向用户和开发人员的基础承载。

  业务层是对于应用层的相关功能的业务化,数字化处理,用于将应用层的需求任务进行规则化划分,形成统一的处理化模式。

  数据处理层是独立的数据处理程序,是对不同需求数据的统一处理方案,它的运行与监控的工作将由JobKeeper调度平台进行统一的配置管理。

  存储层是用来存储数据存储层的处理结果集或者其它中间结果集的单元。

  虚拟化资源层是将实体的机器进行虚拟化,形成更大范围的服务集群。

  JobKeeper调度平台是由一组管理节点(Master Node)和一组处理节点(Task Node)组成,管理节点组是一组基于Webserver的RPC(RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到调用信息的到达为止。当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。)服务器,负责对处理节点的系统信息以及任务处理信息进行实时的跟踪和保存,对应的信息镜像存储在基于cStor或者NFS服务的存储系统上,保证每个管理节点中的镜像信息的实时同步。同时架设在管理节点上的ZooKeeper服务(ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,包含一个简单的原语集。分布式应用可以使用它来实现诸如:统一命名服务、配置管理、分布式锁服务、集群管理等功能。)用于对整个管理节点组进行统一的配置化管理。处理节点组通过RPC的远程调用获取各自节点的任务处理目标,并实时的和处理节点上的任务处理目标进行对比,控制程序的执行和结束。(注:这里的程序,可以是任何语言任何形式的独立程序,但是必须提供执行脚本,和运行参数选项)处理节点组会在一个设定的心跳间隔内主动的和管理节点组联系一次,报告节点存活状态。如果在若干个心跳间隔后管理节点组仍然没有获取到处理节点心跳报告,那么该处理节点将会被踢出处理节点组,同时该节点处理的所有处理任务也会被重新调度。随着集群处理数据量的不断增大,处理节点组提供了简单高效的自动化部署方案,当新机器加入处理集群后,会主动的与管理节点组同步心跳信息,从同一配置服务器ZooKeeper上获取相关配置信息,通过WebServer服务获取任务列表,开始执行数据处理工作。

  JobKeeper调度平台提供了一套基于Web的管理化界面,可以实时的观察各个处理节点的任务运行状态,以及任务列表的分配情况,机器的负载情况等。用户在管理系统界面上可以完成所有的工作,如新任务的添加,任务的手动调度以及集群日志的查看与分析等。

                                           JobKeeper任务分发流程图

  任务处理节点和管理节点之间维护一个心跳时间,实时向管理节点汇报任务处理信息,同时,任务处理节点在每个心跳时间内向管理节点获取该处理的任务列表,并和本机正在处理的任务列表进行比对,完成相关的任务调度工作。若一个处理节点在多个心跳时间范围内仍然没有主动的和管理节点相互联系,那么管理节点将会根据各机器的负载情况,将失去心跳连接的处理节点上的任务进行任务的重新分配和执行。

  MapReduce可靠性设计

  本方案通过使用ZooKeeper的选举机制解决MapReduce的单点故障,当JobTracker节点宕机时,能够在一台备用的JobTracker节点上启动JobTracker进程,并使用虚拟IP机制将虚拟IP指向备用JobTracker节点。在JobTracker进程启动后,ZooKeeper将未完成的MapReduce作业提交给备用JobTracker节点重新执行。

  数据立方(DataCube)

  我们以B+树的结构建立了字段的索引,每个B+树结构的字段索引相当于一个数据平面,这样一个全局数据表与其多个重要字段的索引就组成了一个类似于立方体的数据组织结构,我们称之为“数据立方(DataCube)”。

                                                            数据立方图

  数据立方(DataCube)是一种用于数据分析与索引的技术架构。它是针对大数据(big data)的处理利器,可以对元数据进行任意多关键字实时索引。通过数据立方对元数据进行分析之后,可以大大加快数据的查询和检索效率。

  数据立方是凌驾于数据存储层和数据库系统之上的,通过数据立方解析后,可以大大增加数据查询和检索等业务,可以让系统平台具备数据实时入库、实时查询、查询结果实时传输等优势。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款