HDFS中的数据块


创建一个321M的big_file.txt文件:
写一个脚本:vi test.sh,内容:

#!/bin/bash
for((i=0;i<=$1;i++))
do
echo "just an example" >> big_file.txt
done

执行脚本:bash test.sh 100(增加100行数据,直到文件大小到321M)
将321M的big_file.txt上传到hdfs文件系统中
hadoop fs -put big_file.txt /user/hadoop-twq/cmd
查看:
hadoop fs -ls -h /user/hadoop-twq/cmd
可以使用WebUI查看321M的文件分成了多少块,每一块分布在那一个节点上,

  • ☛ 数据块的默认大小为: 128M
  • ☛ 设置数据块的大小为: 256M*1024*1024,在${HADOOP_HOME}/etc/hadoop/hdfs-site.xml中加上配置:
<property>
    <name>dfs.block.size</name>
    <value>268435456</value>
</property>

重启hdfs,这样重新打开WebUI,big_file.txt每一块大小仍不会变,因为即使修改了配置,而big_file.txt已经分好数据块了,需要再次上传一个副本big_file.txt(可以重命名:mv big_file.txt big_file_other.txt)到hdfs,这时候再看WebUI,就会按照上面配置的进行分块

  • ☛ 数据块的默认备份数是3,如果直接修改文件中备份数,big_file.txt数据块备份数不会变,只有重新上传才会变,这时候就可以使用命令改变备份数:hadoop fs -setrep 2 /users/hadoop-twq/cmd/big_file.txt
  • ☛ 数据块都是存储在每一个DataNode所在的机器本地磁盘文件中
posted @ 2019-02-27 16:18  AntarcticPenguin  阅读(455)  评论(0编辑  收藏  举报
//开启礼花特效的js