一、HDFS的block块
1.介绍
block
块是HDFS的最小存储单位,每个256MB
(可以修改)
2.文件在HDFS中的存储方式
文件分成多个block
块,block
块分三份存入对应服务器,每个block
块都有2个(可修改)备份,每个副本都复制到其他服务器一份,每个block
块都有两个备份在其他服务器上,这使得安全性极大提高
3.修改默认文件上传到HDFS中的副本数量
hdfs-site.xml
默认为3,一般情况下无需主动配置
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
4.上传文件的时候,临时决定被上传文件以多少个副本存储
hadoop fs -D dfs.replication=2 -put test.txt /tmp/
如上命令,就可以在上传test.txt的时候,临时设置其副本数为2
5.修改已经存在文件的副本数
对于已经存在HDFS的文件,修改dfs.replication属性不会生效,如果要修改已存在文件可以通过命令
hadoop fs -setrep [-R] 2 path
如上命令,指定path的内容将会被修改为2个副本存储。
- R选项可选,使用-R表示对子目录也生效。
6.检查文件副本数
hdfs fsck path [-files [-blocks [-locations]]]
:fsck可以检查指定路径是否正常
-files
可以列出路径内的文件状态-files -blocks
输出文件块报告(有几个块,多少副本)-files -blocks -locations
输出每一个block的详情
7.修改block块大小
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>