Spider分布式引擎架构

编辑
文档创建者:doreen0813 (83193 )     浏览次数:460次     编辑次数:12次     最近更新:doreen0813 于 2018-10-23     

目录:

1、描述编辑

Spider分布式引擎介绍中我们已经简单介绍了分布式引擎,那么其内部各大数据组件之间的架构又是怎样的呢?本章我们来介绍一下。

Spider分布式引擎包含了HDFS、Alluxio、Spark、Zookeeper等模块,各模块之间的工作如下图所示,包含了持久化层、内存加速层、作业调度层和上层FineBI应用等。

222

下面我们来分模块来详细介绍一下各自的作用与工作。

2、持久化层(HDFS)编辑

持久化层用于存储数据,相当于电脑的硬盘,常用的持久化层包括HDFS、Ceph、S3等,在Spider分布式结构中选用的持久化层为HDFS。HDFS为Hadoop分布式文件系统,是一个高度容错性的系统,且HDFS高可用的稳定性较好,并因为来自Hadoop所以生态上支持也较好。

虽然HDFS在在处理大数据量时有很高的可靠性,但它的缺陷也很明显,其设计是基于磁盘的,I/O性能难以满足流式计算所要求的延时,而频繁的网络数据交换进一步拖累了计算处理过程,因此我们引入Alluxio作为分布式存储系统的核心存储系统。

3、内存加速层(Alluxio)编辑

内存加速层相当于电脑的内存,读取速度比持久化层要快,在Spider分布式结构中使用的是Alluxio。Alluxio是世界上第一个以内存为中心的虚拟分布式存储系统,并将多样化的上层计算框架和底层存储系统连接起来,统一数据的访问方式。Alluxio以内存为中心的存储特性使得上层应用的数据访问速度比现有常规方案块几个数量级。

我们在Spider分布式中利用了Alluxio的分层存储特性,综合利用内存、SSD和磁盘等多种存储资源,通过Alluxio提供的LRU、LFU等缓存策略可以保证热数据一直保留在内存中,冷数据则被持久化到level2甚至level3的存储设备上。下层其他的存储设备可以是SSD、普通HDD等,而HDFS就是最后一层长期的文件备份系统。

222

4、作业调度层(Spark)编辑

计算和调度层使用的是Spark,Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎,Spark是一种与Hadoop相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使Spark在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

在计算的时候,可以认为这里有个客户端(FineBI)向Spark发起请求,Spark根据请求拉起一个或几个会话,然后将计算结果返回给请求的客户端。

222

5、集群管理模块(Zookeeper)编辑

Zookeeper在Spider分布式结构中的作用是框架整合与通信调度,可以理解为一个质量监督者,为各个组件在自己岗位上正常运行进行监督的角色。主要用于各组件的管控、主节点的选举、分布式节点间通信调度。

222

附件列表


主题: 部署集成
标签: 暂无标签 编辑/添加标签
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

本文档是否有用? [ 去社区提问 ]