HDFS01 概述
HDFS 概述

HDFS的产生背景和定义
HDFS产生背景
解决海量数据的存储问题
需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS 只是分布式文件管理系统中的一种。
HDFS定义
HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。
HDFS 的使用场景:适合一次写入,多次读出的场景。 一个文件经过创建、写入和关闭之后就不需要改变。
优缺点
优点
1.高容错性

2.适合处理大数据

3.可以构建在廉价机器上,通过多副本机制,提高可靠性
缺点
1.不适合低延时数据访问,比如毫米级的存储数据
2.无法高效的对大量小文件进行存储,适用于快速寻找

寻址时间为传输时间的1%时,为最佳状态
3.不支持并发写入、文件随机修改

组成

NameNode
NameNode(nn)是Master,管理者。
- 管理HDFS的名称空间
所有文件的元数据 - 配置副本策略
比如集群中有多个文件a,b,c,设置a的副本有1个、b的副本有2个、c的副本有3个。告诉Datanode维持几份副本 - 管理数据块(Block)的映射信息
 - 处理客服端读写请求
 
DataNode
NameNode下达命令,DataNode执行实际的操作。
- 存储实际的数据块
 - 执行数据块的读/写操作
 
Secondary NameNode(2nn)
并非NameNode的热备。当NameNode挂掉的时候,它并不能马上替换NameNode并提供服务
- 辅助NameNode,分担其工作量,比如定期合并Fsimage(镜像文件)和Edits(编辑日志),并推送给NameNode
 - 在紧急情况下,可辅助恢复NameNode(只能恢复部分,因为2nn并没有NameNode的全部数据)
 
Client
Client就是客户端
- 文件切分。文件上传HDFS的时候,Client将文件切分成一个个block(按NameNode的文件块来分)
 - 与NameNode交互,获取文件的位置信息
 - 与DataNode交互,读取或者写入数据
 - Client提供一些命令来管理HDFS,比如NameNode格式化
 - Client可以通过一些命令来访问HDFS,比如对HDFS增删查改操作
 
文件块大小(面试重点)
HDFS中的文件在物理上是分块存储(Block),块的大小可以通过配置参数dfs.blocksize来设置,默认大小在Hadoop2.x/3.x版本中是128M。
128M是上限,如果10K的文件存进去,剩下的空间还可以给其他文件使用。
默认值128M的原因,如果磁盘的传输速率更大,块的大小可以设置的更大

问题:为什么块的大小不能设置太小,也不能设置太大
如果块设置太小,会增加寻址时间。
如果块设置太大,从磁盘传输数据的时间会明显大于定位这个块开始位置所需时间。导致磁盘传输数据的时间过长。
总结:HDFS块的大小设置主要取决于磁盘传输速率。
HDFS01 概述的更多相关文章
- 【AR实验室】ARToolKit之概述篇
		
0x00 - 前言 我从去年就开始对AR(Augmented Reality)技术比较关注,但是去年AR行业一直处于偶尔发声的状态,丝毫没有其"异姓同名"的兄弟VR(Virtual ...
 - Recurrent Neural Network系列1--RNN(循环神经网络)概述
		
作者:zhbzz2007 出处:http://www.cnblogs.com/zhbzz2007 欢迎转载,也请保留这段声明.谢谢! 本文翻译自 RECURRENT NEURAL NETWORKS T ...
 - Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)
		
本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...
 - .Net 大型分布式基础服务架构横向演变概述
		
一. 业务背景 构建具备高可用,高扩展性,高性能,能承载高并发,大流量的分布式电子商务平台,支持用户,订单,采购,物流,配送,财务等多个项目的协作,便于后续运营报表,分析,便于运维及监控. 二. 基础 ...
 - [C#] 进阶 - LINQ 标准查询操作概述
		
LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...
 - 【基于WinForm+Access局域网共享数据库的项目总结】之篇一:WinForm开发总体概述与技术实现
		
篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...
 - Java消息队列--JMS概述
		
1.什么是JMS JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送 ...
 - [AlwaysOn Availability Groups]健康模型 Part 1——概述
		
健康模型概述 在成功部署AG之后,跟踪和维护健康状况是很重要的. 1.AG健康模型概述 AG的健康模型是基于策略管理(Policy Based Management PBM)的.如果不熟悉这个特性,可 ...
 - μCos-ii学习笔记1_概述
		
一.μCos-ii _概述 网上关于μCosii的文章多不胜数,本人学习的过程中也参考了很多人的理解和想法,看的是卢有亮老师的<嵌入式实时操作系统-μC/OS原理与实践>(第2版),同时也 ...
 
随机推荐
- C++ map操作——插入、查找、遍历
			
c++ map 操作学习 #include <iostream> #include <map> #include <string> #include <vec ...
 - 绝世好题(DP)
			
题目链接:绝世好题 暴力就不用说了,和lis神似,O(n2)妥妥的挂掉,但可以得大部分分(好像是90,80)... 考虑优化,来一发非正解的优化: #include<bits/stdc++.h& ...
 - hdu 5083 Instruction (稍比较复杂的模拟题)
			
题意: 二进制指令转汇编指令,汇编指令转二进制指令. 思路: 额,条理分好,想全,思维不能乱. 代码: int findyu(char yu[50],char c){ int l=strlen(yu) ...
 - IP基础 & 子网划分 & 路由寻址
			
IP地址详解 IP地址概念 就像用身份证号码来区别毎个人一样,为了区别 网上的每台计算机,我们给因特网上的每一台计算机一个唯一的编号 ,我们把它称为IP地址 IP地址就是一个唯一标识 ,是一段网络编码 ...
 - webpack 之开发环境优化 HMR
			
webpack 之开发环境优化 HMR // webpack.config.js /** * HMR hot module replacement 热模块替换 / 模块热替换 * 作用:一个模块发生变 ...
 - restTemple发送请求、上传文件(@LoadBalanced微服务调用及url调用)
			
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Co ...
 - Calendar.set方法获取前一天的当前时刻
			
获取前几天的当前时刻的时间方法 Calendar cal = Calendar.getInstance(); Date date = new Date();// 获取当前时间 cal.setTime( ...
 - .net C# 释放内存 例子
			
namespace myCommon{ public class SysVar { [DllImport("kernel32.dll")] public ...
 - zookeeper问题在公司可以  回到家用家里网不行 目前还没有解决
			
Opening socket connection to server 192.168.1.193/192.168.1.193:2181. Will not attempt to authentica ...
 - oracle中是否有except函数: select * from a except select * from b
			
除外: oracle没有except这个关键字,这个关键字属于sqlserver ,在oracle里,他叫minus,与except是一个意思. select a.code OrgId, b.code ...