实验案例:完全分布式环境-验证DataNode上存储的文件分块信息
1.将JDK包从本地文件系统上传至HDFS分布式文件系统
(1) 查看本地文件下jdk文件大小189756259
(2)start-dfs.sh启动集群
(3)
(4)查看是否上传成功,逻辑上是原文件大小,物理上已经分块
2.进入DataNode存放文件分块的的Block目录,观察目前HDFS集群中2个DataNode上的JDK文件分块信息
2号DataNode:
两块加起来大小为jdk总大小。。。。
3号DataNode:
同一个分块分别有两个副本分别在2号和3号机上。放在本地存储上,通过本地路径可以找到。
默认分块的副本数为3,关于创建副本,当客户端写文件到hdfs的时候,先写文件到本地文件,假设设定的hdfs副本数为3,当缓存的文件达到hdfs block size时,客户端从NameNode检索一个DataNode列表,该列表包含将存储该副本的DataNode列表,客户端刷新数据到列表中第一个DataNode,第一个DataNode以4kb为单位接收数据,将数据写到本地,并且传输到列表中第二个DataNode,第二个也做同样操作。一个DataNode可以从上一个数据管道获取数据,并同时将数据发送到下一个数据管道。