hadoop hdfs副本冗余原理 (hadoop读取hdfs数据进行分析)

大数据之-Hadoop之HDFS_HDFS_副本数量设置---大数据之hadoop工作笔记0053

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

然后我们再来可以通过-setrep来设置hdfs中文件存的副本的个数,以前我们设置

是通过配置文件设置的对吧,现在我们直接通过,命令就可以设置了,不用再去配置文件了,太麻烦了,配置以后还得重启.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

我们先去看看,副本数量,默认的是3个

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

去看看这个panjinlian.txt可以看到

block0这个块,在hadoop104,103,102上面都存了副本

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

我去对应的目录,去看看,可以看到有好几个文件,上面那个目录比较长,之前我们已经看过了.

/opt/module/hadoop-2.7.2/data/tmp/dfs/data/current/BP-1458695472-192.168.1.102-1532762542750/current/finalized/subdir0/subdir0

但是这几个文件,哪个才是panjinlian.txt呢?不知道对吧

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

我们可以先去hadoop fs -rm -R /sanguo 先把sanguo这个文件夹删除

然后再

hadoop fs -rm /user/atguigu/input/hadoop-2.7.2.tar.gz 再把这个文件删除.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

可以看到已经删除了没有用的文件,现在就剩根目录下的panjinlian.txt和

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

user/atguigu/input文件夹下的wc.input文件

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

然后我们去看

cat blk_1073741825 去看看

这个内容是wc.input文件对吧.

然后我们再看一下

cat blk_1073741830

可以看到这个内容是panjinlian.txt对吧

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

然后我们再从hadoop103这个机器上去看看

/opt/module/hadoop-2.7.2/data/tmp/dfs/data/current/BP-1458695472-192.168.1.102-1532762542750/current/finalized/subdir0/subdir0

进入这个目录

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

可以看到也有panjinlian.txt这个文件对吧

cat blk_1073741830去看看,没问题

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

然后我们去104机器上去看看,依然有这个文件

cat blk_1073741830去看看,没问题

说明什么?

这一个block块,在3个机器上都有了就是存在3个副本了.没问题,跟显示的是一样的.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

然后我们再去把panjinlian.txt的副本数设置成2

hadoop fs -setrep 2 /panjinlian.txt

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

可以看到hdfs web端显示 panjinlian.txt还有2个副本

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

我们先去看看102这个机器,去看看ll

cat blk_1073741830 这个文件已经没了对吧.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

但是我们去看看104,这个机器上还有

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

103上也有,说明,也没问题,副本变成了2个了.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

然后我们顺手把102上的,这个

rm -rf hadoop-2.7.2/ tmp.txt

把hadoop-2.7.2/ 这文件夹,以及tmp.txt 这个文件删除,是以前残留的.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

然后我们再去,把副本

hadoop fs -setrep 3 /panjinlian.txt 先设置成3 ,然后

hadoop fs -setrep 10 /panjinlian.txt 再设置成10

这样我们就有10个副本了对吧.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

.我们去看看hdfs web端,显示有10个panjinlian.txt文件副本了.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

然后我们去看看103,有对吧

blk_1073741830

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

去104去看看

blk_1073741830 也有对吧.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

然后去hdfs web端看看,显示block0 这个块在,102,103,104上都有副本对吧,

我们看了103,104上有

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

我们再去看看102上,还是没有对吧,说明什么,

他需要点时间,去处理一会就可以看到了.

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

hadoop读取hdfs数据进行分析,hadoophdfs读写流程

那么现在有个问题就是,我们设置了10副本,但是呢?

我们现在只有3台机器,他会怎么做?

他会,等待,当我们把第4台机器,接入进来的是,他会把副本再copy到,第4台机器上..

就这样,直到维持够10个副本为止...他会这样来处理.

技术交流QQ群【JAVA,C++,Python,.NET,BigData,AI】:170933152开通了个人技术微信公众号:credream,CSDN账号:credreamer 有需要的朋友可以添加相互学习