软件开发方案

企业谷软件开发公司


分布式系统概述

分布式文件系统主要是用于存储文档、图像、视频类的非结构化数据,其建立在网络会话层和网络传输层之上,以建立资源池的方式实现全局化管理平台所涉及的非结构化数据资源(文件资源),并实现资源调度过程的透明化。

系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器(NameNode)定位存储信息以提高文件读取效率,系统整体性能和系统扩展性

技术路线

使用HDFS作为分布式文件系统中间件,HDFS有着高容错性(fault-tolerant)的特点,可以提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序,HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。在HDFS分布式文件系统的基础上建立ZooKeeper分布式服务注册中心对两个互为主备的NameNode进行不间断心跳状态检测,如果某一台NameNode节点出现故障则自动切换另外一台主机对外提供元数据检索,存储服务,即实现分布式存储的高可用特性。部署ZKFailoverController客户端组件实现对Zookeeper注册中心的可视化管理,实现提前预计,定时故障分析和处理。


分布式文件系统架

系统由两个主备NameNode节点和多个DataNode(数据存储块)组成,通过注册中心实现NameNode高可用切换,其中NameNode实现数据索引和元数据的存储,架构如下图所示


系统目标

硬件故障灾备

整个分布式文件系统将由数百或数千个存储着文件数据片段的服务器组成。随着数据量的不断增大,其分节点的数量将会非常庞大,每个节点硬件都有出故障的可能,系统通过部署ZooKeeper(ZK服务注册中心) 和 ZKFailoverController(ZKFC)组件实现故障自动转移,以达到即便硬件出现故障数据依然完整的目的


实现海量数据存储

系统实施基于XHBGDAT运维管理系统,实现NameNode实时监测动态切换,DataNode数据存储节点通过可视化界面进行动态添加和动态剔除,并在此基础上实现数据副本文件的动态复制和整体迁移,以增加数据存储规模和海量数据的有效管理

流式数据访问

hdfs分布式文件系统的访问和处理采用流式批处理方式,更大程度的提高系统视频,图片等文件数据读取的吞吐量。



大量视频、图片、文件分布式存储技术方案