首页 技术 正文
技术 2022年11月14日
0 收藏 456 点赞 4,187 浏览 995 个字

HDFS的简介

分布式的文件系统,基于流数据模式访问和处理超大文件的分布式文件系统

Hadoop Distributed File System

HDFS的优点

处理超大文件

流数据访问

运行廉价的商用服务器上

HDFS的缺点

无法高效存储大量的小文件(元数据信息增大会造成NameNode的压力增大)

不适合处理低延迟的数据访问

不支持多用户对同一个文件的写入

不支持任意的修改

HDFS的特点

高容错性,三个副本,

可扩展和配置性(可以任意增加节点)

夸平台

机架感知

负载均衡

shell命令接口

安全模式(不允许写,监测数据块,不允许执行JOB)

HDFS的核心设计

数据块(Block):数据以块固定大小的方式进行存储,128M

数据复制:以块来进行复制,可以配置复制因子 默认是3个

数据副本的存放策略:

分布存储在不同的节点上

每个数据块保存默认是3个副本

同一个数据的三个副本的存放

第一个副本存在离客户端近的机架上的某一台节点上

第二个副本存在相邻或者另外一个机架上的某一台节点上

机架感知

心跳机制:从节点通过NodeManager 向主节点ResourceManager每隔3秒钟发送心跳数据(从节点的cup 内存 磁盘等等资源使用情况)

ResourceManager在心跳的返回值中分配任务和指令给从节点的NodeManager

HDFS的体系结构

主从架构

Master/Slave

NameNode(元数据管理和存放)

SecondaryNameNode(辅助NameNode将edit和fsimage文件进行合并,生成新的fsimage,然后将文件返回给NameNode)

DataNode 从节点,用来存放数据的

Write:向HDFS写入文件

客户端——-》ResourceManager

NameNode  DataNode

Client—–》NameNode (提供blockId的列表)

Client—–》DataNode

Read:向HDFS读取文件

Client—–》ResourceManager

NameNode  DataNode

Client—–》NameNode(文件的名字…)

Clinet—–》DataNode

HDFS的设计目标

监测故障和快速恢复

大规模数据集的处理

流式数据访问

简化一致性模型,一次写入,多次读取

移动计算要比移动数据的代价要低

在异构的平台上可以移植

通信协议是基于tcpip的ipc rpc协议

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,084
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,559
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,408
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,181
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,818
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,901