Hadoop到目前为止发展已经有10余年,版本通过无数次的更新迭代,目前业内你们把Hadoop大的版本分为Hadoop1.0、Hadoop2.0、Hadoop3.0 三个版本。node
Hadoop版本刚出来的时候是为了解决两个问题:一是海量数据如何存储的问题,一个是海量数据如何计算的问题。Hadoop的核心设计就是HDFS和 Mapreduce.HDFS解决了海量数据如何存储的问题
, Mapreduce解决了海量数据如何计算的问题。HDFS的全称:Hadoop Distributed File System。git
HDFS其实就能够理解为一个分布式文件系统,能够看如图1所示有4个服务器是否是都有他本身的文件系统均可以进行存储数据,假设每一个服务器的存储空间存储10G的数据。假设数据量很小的时候存储10G的数据仍是ok的当数据量大于服务器的存储空间时是否是单个服务器就无法存储了。 咱们是否是能够在服务器中部署一个
Hadoop
这样就能构建出一个集群(超级大电脑)。这样就存储 4*10=40G
的数据量,这样咱们面向用户时是否是只有一台超级大的电脑至关于一个分布式文件系统。 程序员
HDFS是一个主从的架构、主节点只有一个NemeNode。从节点有多个DataNode。github
假设咱们这里有5台服务器每台服务器都部署上Hadoop,咱们随便选择一台服务器部署上
NameNode
剩下服务器部署上DataNode
。 面试
客户端上传文件时假设文件大小为129M
HDFS默认切分的大小为128M
这时就会产生出2个blk
NameNode去通知DataNode上传文件(这里有必定的策略),咱们就假设就将这几个文件分别存储在4个服务器上。为什们要进行分别存储在,假设DataNode服务器有一天忽然挂掉了咱们是否是还可经过DataNode4或2和3进行读取数据,这样是否是就防止数据丢失。安全
NameNode服务器
DataNode网络
Hadoop2.73以前是64M以后改成了128M
SecondaryNamenode
周期性的到NameNode节点拉取Edtis和fsimage文件,将这两个文件加入到内存进行 而后将这两个文件加入到内存中进行合并产生新的fsimage发送给NameNode。架构
注意:早期版本app
上述给你们讲解了简单的HDFS架构,我在最后面留了一个小问题,我会在下期经过画图的方式给你们讲解,我在这里为你们提供大数据的资料
须要的朋友能够去下面GitHub去下载,信本身,努力和汗水总会能获得回报的。我是大数据老哥,咱们下期见~~~
资源获取 获取Flink面试题,Spark面试题,程序员必备软件,hive面试题,Hadoop面试题,Docker面试题,简历模板等资源请去 GitHub自行下载 https://github.com/lhh2002/Framework-Of-BigData Gitee 自行下载 https://gitee.com/li_hey_hey/dashboard/projects
-End-
企业是如何选择技术栈来作离线数仓
原来Canal也能够作HA?
Hive的调优你都知道那些?
万字带你深刻阿里开源的Canal工做原理
大数据老哥但愿这篇文章能够帮到你~
欢迎你们点个在看,分享至朋友圈
你我都成为光发热之人,在看在看在看~(疯狂暗示!)