基于 Hadoop 集群平台的计算架构
1 引言
随着互联网的高速发展,网络所产生的信息数据量日益庞大,这使得单机对数据的处理变得非常困难。
开源组织 The Apach Software Fouondation 旗下专注于分布式计算的开源项目——Hadoop 越来越受到 IT 界
的关注。在国外,2008 年 2 月,雅虎宣布搭建出一个世界上最大的基于 Hadoop 的生产集群系统——Yahoo!
Search Webmap;在国内,腾讯、中国电信、淘宝、百度、网易、金山等公司先后也搭建了 Hadoop 平台。
2 Hadoop 简介
Hadoop 是 Apache 下的一个项目,它是一个开源的可运行于大规模集群上的分布式并行编程框架,
由 HDFS、MapReduce、HBase、Hive 和 ZooKeeper 等成员组成。其中,HDFS 和 MapReduce 是两个最基
础最重要的成员,他们分别是 Google GFS 和 MapReduce 的开源实现。HDFS 是一个高度容错的分布式文
件系统,它能够提供高吞吐量的数据访问,适合存储海量(PB 级)的大小(通常超过 64M),其原理如图
1 所示。
NameNode
操
作
据
数
元
组
Client
数
据
块
操
作
读
1 rack2
DataNode
Client
写
图 1 HDFS 体系结构
HDFS 采用 Master/Slave 架构,一个 HDFS 集群由一个 Namenode 和一定数目的 Datanodes 组成。
Namenode 是一个中心服务器,负责管理文件系统的名字空间(Namespace)以及客户端对文件的访问。集
群中的 Datanode 一般是一个节点一个,负责管理其所在节点上的存储。HDFS 暴露了文件系统的名字空间,
用户能够以文件的形式在上面存储数据。
从内部看,一个文件其实被分成一个或多个数据块(Block),这些块存储在一组 Datanode 上。Namenode
执行文件系统的名字空间操作,比如打开、关闭、重命名文件或目录,它也负责确定数据块到具体 Datanode
节点的映射。Datanode 负责处理文件系统客户端的读写请求,在 Nanmenode 的统一调度下进行数据块的
创建、删除和复制。
写
评论0
最新资源