HDFS NameNode Hadoop怎么分片
2022/6/1 1:22:34
本文主要是介绍HDFS NameNode Hadoop怎么分片,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
HDFS 上传文件和读文件的流程
(1)由客户端 Client 向 NameNode 节点发出请求;
(2)NameNode 向 Client 返回可以存数据的 DataNode 列表,这里遵循机架感应原则(把副本分别放在不同的机架,甚至不同的数据中心);
(3)客户端首先根据返回的信息先将文件分块(Hadoop2.X 版本每一个 block 为128M,而之前的版本为 64M);
(4)通过 NameNode 返回的 DataNode 信息,将文件块以写入方式直接发送给DataNode,同时复制到其他两台机器(默认一份数据,有两个副本);
(5)数据块传送完成以后,dataNode 向 Client 通信,同时向 NameNode 报告;
(6)依照上面(4)到(5)的原理将所有的数据块都上传,结束后向 NameNode 报告表明已经传完所有的数据块。
- Hadoop1版本
- 客户端依据最近空闲原则选择一个节点,在不同机架上选择第二个副本节点,在第二个节点的同机架下选择第三个节点
- Hadoop2版本
- 客户端依据最近空闲选择一个节点,在当前节点同机架下选择第二个副本节点,在不同机架上选择第三个节点
NameNode 在启动的时候会做哪些操作
NameNode 启动的时候,会加载 fsimage
Fsimage 加载过程完成的操作主要是为了:
(1)从 fsimage 中读取该 HDFS 中保存的每一个目录和每一个文件
(2)初始化每个目录和文件的元数据信息
(3)根据目录和文件的路径,构造出整个 namespace 在内存中的镜像
(4)如果是文件,则读取出该文件包含的所有 blockid,并插入到 BlocksMap 中。
Hadoop怎么分片
HDFS 存储系统中,引入了文件系统的分块概念(block),
块是存储的最小单位,HDFS定义其大小为 64MB。
与单磁盘文件系统相似,存储在 HDFS 上的文件均存储为多个块,不同的是,如果某文件大小没有到达 64MB,该文件也不会占据整个块空间。
在分布式的 HDFS集群上,Hadoop 系统 保证一个块存储在一个 datanode 上。
HDFS 的 namenode 只存储整个文件系统的元数据镜像,这个镜像由配置 dfs.name.dir指定,
datanode 则存有文件的 metainfo 和具体的分块,存储路径由 dfs.data.dir 指定。
这篇关于HDFS NameNode Hadoop怎么分片的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2023-05-13Windows下hadoop环境搭建之NameNode启动报错
- 2023-04-14hadoop伪分布式集群的安装(不是单机版)
- 2022-12-05Hadoop生态系统—数据仓库Hive的安装
- 2022-11-02Win10搭建Hadoop环境
- 2022-10-19Hadoop生态系统(数据仓库Hive的安装)
- 2022-10-03Hadoop、storm和Spark Streaming简单介绍
- 2022-10-03胖虎的Hadoop笔记——Hadoop的伪分布式部署
- 2022-09-11Ubuntu搭建全分布式Hadoop
- 2022-09-11Ubuntu搭建全分布式Hadoop
- 2022-09-09Ubuntu下安装伪分布式HADOOP遇到的一些问题