没有合适的资源?快使用搜索试试~ 我知道了~
hoophook百科ziyuan.docx
需积分: 9 0 下载量 8 浏览量
2021-04-04
23:31:42
上传
评论
收藏 21KB DOCX 举报
温馨提示
试读
3页
hoophok资源免费下载
资源详情
资源评论
资源推荐
Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构。用户可以在不了解分
布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储 。
Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称 HDFS。HDFS
有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量
(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的
应用程序。HDFS 放宽了(relax)POSIX 的要求,可以以流的形式访问(streaming access)
文件系统中的数据。Hadoop 的框架最核心的设计就是:HDFS 和 MapReduce。HDFS 为海量
的数据提供了存储,而 MapReduce 则为海量的数据提供了计算 [1]
Hadoop 由许多元素构成。其最底部是 Hadoop Distributed File System(HDFS),它存
储 Hadoop 集群中所有存储节点上的文件。HDFS 的上一层是 MapReduce 引擎,该引擎由
JobTrackers 和 TaskTrackers 组成。通过对 Hadoop 分布式计算平台最核心的分布式文件系统
HDFS、MapReduce 处理过程,以及数据仓库工具 Hive 和分布式数据库 Hbase 的介绍,基本
涵盖了 Hadoop 分布式平台的所有技术核心 [4] 。
HDFS
对外部客户机而言,HDFS 就像一个传统的分级文件系统。可以创建、删除、移动或重命名
文件,等等。但是 HDFS 的架构是基于一组特定的节点构建的(参见图 1),这是由它自身
的特点决定的。这些节点包括 NameNode(仅一个),它在 HDFS 内部提供元数据服务;
DataNode,它为 HDFS 提供存储块。由于仅存在一个 NameNode,因此这是 HDFS 1.x 版本
的一个缺点(单点失败)。在 Hadoop 2.x 版本可以存在两个 NameNode,解决了单节点故
障问题 [4] 。
存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中( DataNode)。这与
传统的 RAID 架构大不相同。块的大小(1.x 版本默认为 64MB,2.x 版本默认为 128MB)和
复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。HDFS 内部
的所有通信都基于标准的 TCP/IP 协议 [3] 。
NameNode
NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。它负责管理文件系统名称
空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。
对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块
存储在不同机架的某个节点上 [5] 。
实际的 I/O 事务并没有经过 NameNode,只有表示 DataNode 和块的文件映射的元数据经过
NameNode。当外部客户机发送请求要求创建文件时,NameNode 会以块标识和该块的第一
个副本的 DataNode IP 地址作为响应。这个 NameNode 还会通知其他将要接收该块的副本
的 DataNode [5] 。
NameNode 在一个称为 FsImage 的文件中存储所有关于文件系统名称空间的信息。这个文
件和一个包含所有事务的记录文件(这里是 EditLog)将存储在 NameNode 的本地文件系统
上。FsImage 和 EditLog 文件也需要复制副本,以防文件损坏或 NameNode 系统丢失 [5] 。
NameNode 本身不可避免地具有 SPOF(Single Point Of Failure)单点失效的风险,主备模式
并不能解决这个问题,通过 Hadoop Non-stop namenode 才能实现 100% up9me 可用时间 [5]
。
DataNode
DataNode 也是一个通常在 HDFS 实例中的单独机器上运行的软件。Hadoop 集群包含一个
NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所
有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的
传输速度 [5] 。
liuchen20100902
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Qt开发知识、经验总结 包括Qss,数据库,Excel,Model/View等
- IV数据.xlsx
- 一些深度学习中的小例子,适合新手学习使用
- foldcraftlauncher_262944.apk
- 珍藏多年的基于matlab实现潮流计算程序源代码集合,包含多个潮流计算程序.rar
- 使用FPGA实现串-并型乘法器
- 基于matlab实现针对基于双曲线定位的DV-Hop算法中误差误差出一种基于加权双曲线定位的DV-Hop改进算法.rar
- 基于matlab实现由遗传算法开发的整数规划,车辆调度问题.rar
- 电视家7.0(对电视配置要求高).apk
- 免费计算机毕业设计-基于JavaEE的医院病历管理系统设计与实现(包含论文+源码)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0