大数据基础架构Hadoop

导读:大数据正在成为经济社会发展的新的驱动力 。随着云计算、移动互联网等网络新技术的应用和发展 , 社会信息化进程进入大数据时代 , 海量数据的产生与流转成为常态 。而大数据技术也如雨后春笋般正在蓬勃发展中 。Hadoop分布式架构无疑是当前应用最广泛、最具代表性的大数据技术之一 。

大数据基础架构Hadoop

文章插图
Hadoop生态系统
01
Hadoop技术概述
在大数据时代 , 针对大数据处理的新技术也在不断地开发和运用中 , 并逐渐成为数据处理挖掘行业广泛使用的主流技术 。Hadoop作为处理大数据的分布式存储和计算框架 , 已在国内外大、中、小型企业中得到了广泛应用 。学习Hadoop技术是从事大数据行业工作必不可少的一步 。
1Hadoop的发展历史
Hadoop是由Apache的Lucence项目创始人道格·卡廷创建的 , Lucence是一个应用广泛的文本搜索系统库 。Hadoop起源于开源的网络搜索引擎Nutch , Nutch本身也是Lucence项目的一部分 。Hadoop的发展历史如图1所示 。
大数据基础架构Hadoop

文章插图
图1 Hadoop的发展历史
2Hadoop的特点
Hadoop是一个能够让用户轻松搭建和使用的分布式计算平台 , 能够让用户轻松地在Hadoop上开发和运行处理海量数据的应用程序 。Hadoop的主要特点如下 。
1)高可靠性 。Hadoop的数据存储有多个备份 , 集群部署在不同机器上 , 可以防止一个节点宕机造成集群损坏 。当数据处理请求失败时 , Hadoop将自动重新部署计算任务 。
2)高扩展性 。Hadoop是在可用的计算机集群间分配数据并完成计算任务的 。为集群添加新的节点并不复杂 , 因此可以很容易地对集群进行节点的扩展 。
3)高效性 。Hadoop可以在节点之间动态地移动数据 , 在数据所在节点进行并行处理 , 并保证各个节点的动态平衡 , 因此处理速度非常快 。
4)高容错性 。Hadoop的分布式文件系统HDFS在存储文件时将在多台机器或多个节点上存储文件的备份副本 , 当读取该文件出错或某一台机器宕机时 , 系统会调用其他节点上的备份文件 , 保证程序顺利运行 。
5)低成本 。Hadoop是开源的 , 即不需要支付任何费用即可下载并安装使用 , 节省了购买软件的成本 。
6)可构建在廉价机器上 。Hadoop不要求机器的配置达到极高的标准 , 大部分普通商用服务器即可满足要求 , 通过提供多个副本和容错机制提高集群的可靠性 。
7)Hadoop基本框架是基于JAVA语言编写的 。Hadoop是一个基于Java语言开发的框架 , 因此运行在linux系统上是非常理想的 。Hadoop上的应用程序也可以使用其他语言编写 , 如C++和Python/ target=_blank class=infotextkey>Python 。
3Hadoop存储框架—HDFS
HDFS是一种旨在普通硬件上运行的分布式文件系统 , 与现有的分布式文件系统有许多相似之处 , 但也存在明显的区别 。HDFS具有非常好的容错能力 , 旨在部署在低成本硬件上 。HDFS支持对应用程序数据进行高吞吐量访问 , 并且适用于具有海量数据集的读写 。HDFS是Hadoop的核心组件之一 , 用于存储数据 。
HDFS简介及架构
HDFS是以分布式进行存储的文件系统 , 主要负责集群数据的存储与读取 。分布式系统可以划分成多个子系统或模块 , 各自运行在不同的机器上 , 子系统或模块之间通过网络通信进行协作 , 以实现最终的整体功能 。利用多个节点共同协作完成一项或多项具体业务功能的系统即为分布式系统 。
HDFS作为一个分布式文件系统 , 其分布式主要体现在如下3个方面 。
1)HDFS并不是一个单机文件系统 , 而是分布在多个集群节点上的文件系统 。节点之间通过网络通信进行协作 , 提供多个节点的文件信息 , 使每个用户均可以看到文件系统的文件 , 使多台机器上的多用户可以分享文件和存储空间 。
2)当存储文件时 , 文件的数据将分布在多个节点上 。数据存储不是按一个文件存储 , 而是将一个文件分成一个或多个数据块进行存储 。数据块在存储时并不是都存储在一个节点上 , 而是被分别存储在各个节点中 , 并且数据块会在其他节点存储副本 。


推荐阅读