《大数据技术应用与原理》第二版-第三章分布式文件系统HDFS
3.1分布式文件
- HDFS默认一个块的大小是64MB,与普通文件不同的是如果一个文件小于数据块的大小,它并不占用整个数据块的存储空间。
- 主节点又叫名称节点;另一个叫从节点又叫数据节点。名称节点负责文件和目录的创建、删除和重命名,同时管理数据节点和文件块的映射关系。数据节点负责数据存储和读取。
3.2HDFS的相关概念
- MapReduce中的map一次只处理一个块中的数据。HDFS抽象块的概念可以带来一下好处:
- 支持大规模文件存储
- 简化系统
- 适合数据备份
- 名称节点在启动过程中处于安全模式,只对外提供读操作,无法提供写操作。启动过程结束后,系统会退出安全模式,就可以对外界提供读写操作。
- 名称节点中保存两个核心数据结构FsImage和EditLog
- 第二名称节点,解决EditLog逐渐变大带来的问题,两个功能EditLog与FsImage的合并操作;作为名称节点的检查点,注意是冷备份。
3.4HDFS体系结构
- 采用主从模型,在整个HDFS集群中只有一个命名空间,并且只有唯一一个名称节点。
- HDFS通信协议是建立在TCP/IP协议上面的,并使用客户端协议与名称节点进行交互,名称节点和数据节点之间则使用数据节点协议进行交互。客户端与数据节点交互是通过RPC来实现的。
- 因为只设置了一个名称节点,存在局限性。
- 命名空间的限制
- 性能的瓶颈
- 隔离问题
- 集群的可用性
- HDFS的存储原理
- 数据冗余存储,具有以下优点;加快数据传输速度;容易检查数据错误;保证数据的可靠性
- 数据存取策略,包括数据存储、数据读取(就近原则,HDFS提供一个API可以确定数据节点所属的机架ID)、数据复制(采用流水线复制策略)。
- 数据错误与恢复,名称节点出错(一是通过两个核心数据结构,而是通过第二名称节点);数据节点出错;数据出错
3.6HDFS数据读写过程
HDFS的读过程,图片

- HDFS的写过程,图片
- 创建文件请求
- 创建文件元数据
- 写入数据
- 写入数据包(包括了流水线复制)
- 接收确认数据包
- 关闭文件
- 写操作完成
hadoop fs(用作任何文件系统,比如本地文件系统和HDFS文件系统)hadoop dfs(只适用于HDFS文件系统)hdfs dfs(也只适用于HDFS文件系统)
《大数据技术应用与原理》第二版-第三章分布式文件系统HDFS的更多相关文章
- 《大数据技术应用与原理》第二版-第二章大数据处理架构Hadoop
2.1概述 Hadoop是Apache旗下的开源分布式计算平台,是基于Java开发的,具有很好的跨平台特性,其中核心文件是MapReduce和HDFS,而HDFS是根据谷歌文件系统GFS开源实现,是面 ...
- 大数据技术之HBase原理与实战归纳分享-中
@ 目录 底层原理 Master架构 RegionServer架构 Region/Store/StoreFile/Hfile之间的关系 写流程 写缓存刷写 读流程 文件合并 分区 JAVA API编程 ...
- 大数据技术之HBase原理与实战归纳分享-上
@ 目录 概述 定义 特点 数据模型 概述 逻辑结构 物理存储结构 数据模型 应用场景 基础架构 安装 前置条件 部署 启动服务 高可用 Shell操作 基础操作 命令空间 DDL DML 概述 定义 ...
- Laxcus大数据管理系统2.0(5)- 第三章 数据存取
第三章 数据存取 当前的很多大数据处理工作,一次计算产生几十个GB.或者几十个TB的数据已是正常现象,驱动数百.数千.甚至上万个计算机节点并行运行也已经不足为奇.但是在数据处理的后面,对于这种在网络间 ...
- CSAPP深入理解计算机系统(第二版)第三章家庭作业答案
<深入理解计算机系统(第二版)>CSAPP 第三章 家庭作业 这一章介绍了AT&T的汇编指令 比较重要 本人完成了<深入理解计算机系统(第二版)>(以下简称CSAPP) ...
- Hadoop第三天---分布式文件系统HDFS(大数据存储实战)
1.开机启动Hadoop,输入命令: 检查相关进程的启动情况: 2.对Hadoop集群做一个测试: 可以看到新建的test1.txt和test2.txt已经成功地拷贝到节点上(伪分布式只有一个节 ...
- 大数据技术之HBase原理与实战归纳分享-下
@ 目录 整合Phoenix 定义 为何要使用 安装 SHELL操作 表的映射 简易JDBC示例 二级索引 二级索引配置文件 全局索引 包含索引 本地索引(local index) HBase与 Hi ...
- 大数据技术 - 通俗理解MapReduce之WordCount(三)
上一章我们编写了简单的 MapReduce 程序,掌握这些就能编写大多数数据处理的代码.但是 MapReduce 框架提供给用户的能力并不止如此,本章我们仍然以上一章 word count 为例,继续 ...
- 大数据技术之kettle(2)——练习三个基本操作
一.同一数据库两表数据关联更新 实现效果:把stu1的数据按id同步到stu2,stu2有相同id则更新数据 步骤: 1.在mysql中创建两张表: mysql>create database ...
随机推荐
- angular8自定义管道、指令以及获取dom值
版本: 1.自定义管道: example: 定义一个*ngFor 可以获取key值的管道 keyObject.pipe.ts // key value 管道 import { Pipe, PipeTr ...
- Dynamics 365 Customer Engagement V9.X新引入的自动编号属性介绍
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- 完全卸载Android Studio(卸载得干干净净)
步骤其实很简单,一共三步,但是每一步都需要完成,步骤如下: 打开控制面板或腾讯软件管家等执行常规的卸载操作. 找到SDK的安装目录手动删除SDK. 进入“C:\Users\<你的用户名下> ...
- 码农-->工程师
微信公众号推送文章记录,侵删 一个猎人的比喻: 当土著拿到猎枪之后,他们射箭的技能退化严重,但因为食物更多了,厨艺有了长足的进展. 当你不再为一些问题担心之后,你就可以把注意力集中在另外一些问题上了. ...
- SQL Server如何正确的删除Windows认证用户
在SQL Server数据库中,有时候会建立一些Windows认证的账号(域账号),例如,我们公司习惯给开发人员和Support同事开通NT账号权限,如果有离职或负责事宜变更的话,那么要如何正确的删除 ...
- javascript随机数发现的一个parseInt函数的问题
前几天想伪造一些数据,用到了随机数,没有自己写,便在网上找了一下,找到了这篇文章:https://www.cnblogs.com/starof/p/4988516.html .之后测试了一下,发现了一 ...
- LinuxPXE+Kickstrart无人值守安装服务
要求:关闭VMware虚拟网络编辑器中自身的DHCP服务 主机名称 操作系统 IP地址 NoneOS Centos7 192.168.72.250 Custormer 无 1.挂在本地镜像源本配置 ...
- PyCharm 快捷键失效解决办法
PyCharm快捷键用着用着失效了 ......修改设置如下 重新启动Pycharm即可 原博客地址:https://blog.csdn.net/jacke121/article/details/82 ...
- 21.决策树(ID3/C4.5/CART)
总览 算法 功能 树结构 特征选择 连续值处理 缺失值处理 剪枝 ID3 分类 多叉树 信息增益 不支持 不支持 不支持 C4.5 分类 多叉树 信息增益比 支持 ...
- 多对多表结构的设计ManyToManyField(不会生成某一列、生成一张表):
示例: 脚本: from django.db import models# Create your models here. class Publisher(models.Model): name = ...