Hadoop学习:HDFS的运行原理

  ③ 挂掉一个节点,没关系,还有其他节点可以备份;甚至,挂掉某一个机架,也没关系;其他机架上,也有备份。

  读操作:

物联网

  读操作就简单一些了,如图所示,client要从datanode上,读取FileA。而FileA由block1和block2组成。

  那么,读操作流程为:

  a.client向namenode发送读请求。

  b.namenode查看Metadata信息,返回fileA的block的位置。

  block1:host2,host1,host3

  block2:host7,host8,host4

  c.block的位置是有先后顺序的,先读block1,再读block2。而且block1去host2上读取;然后block2,去host7上读取;

  上面例子中,client位于机架外,那么如果client位于机架内某个DataNode上,例如,client是host6。那么读取的时候,遵循的规律是:

  优选读取本机架上的数据。

  HDFS中常用到的命令

  1、hadoop fs

  hadoop fs -ls /

  hadoop fs -lsr

  hadoop fs -mkdir /user/hadoop

  hadoop fs -put a.txt /user/hadoop/

  hadoop fs -get /user/hadoop/a.txt /

  hadoop fs -cp src dst

  hadoop fs -mv src dst

  hadoop fs -cat /user/hadoop/a.txt

  hadoop fs -rm /user/hadoop/a.txt

  hadoop fs -rmr /user/hadoop/a.txt

  hadoop fs -text /user/hadoop/a.txt

  hadoop fs -copyFromLocal localsrc dst 与hadoop fs -put功能类似。

  hadoop fs -moveFromLocal localsrc dst 将本地文件上传到hdfs,同时删除本地文件。

  2、hadoop fsadmin

  hadoop dfsadmin -report

  hadoop dfsadmin -safemode enter | leave | get | wait

  hadoop dfsadmin -setBalancerBandwidth 1000

  3、hadoop fsck

 

  4、start-balancer.sh