一、将hdfs-site.xml的replication值设为2,通过网页观察分块情况
在阅读这篇博客之前,你应该先阅读: 使用hdfs dfs命令对文件进行增删改查操作.
1.将hdfs-site.xml的replication值设为2
vim hdfs-site.xml
添加如下内容:
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
修改完成后,你需要重新启动hadoop.
二、put文件到HDFS
1.使用hdfs dfs -put file /
解释:file指的是你本地文件路径地址,/指的是hdfs的根路径.
例如我现在位于/usr/local/source路径下面,我想把当前路径下的jdk-7u72-linux-i586.gz上传到hdfs上面.
运行命令:hdfs dfs -put ./jdk-7u72-linux-i586.gz /
三、使用web页面信息
1.访问http://npfdev1:50070
2. 点击你刚才上传的文件,查看分块信息
第0块在npfdev4和npfdev3上面:
第1块在npfdev4和npfdev2上面:
3. jdk文件在hdfs中的分块图
现在我们配置的hdfs的replication是2,如果我们stop掉npfdev3机器上的datanode, 那么hdfs应该会把jdk_0再copy一份,满足replication是2.
四、停掉npfdev3机器上面的datanode,观察自动复制情况
1. 在hdfs-site.xml中,设定dfs.namenode.heartbeat.recheck-interval为10000,然后停掉其中一台slave,观察自动复制情况.
<property>
<name>dfs.namenode.heartbeat.recheck-interval</name>
<value>10000</value>
</property>
修改完成后,你需要重新启动hadoop.
2. 在npfdev3上运行hadoop-daemon.sh stop datanode.
2.1 在关闭之前,查看datanodes:
2.2 运行关闭命令:
2.3 在关闭之后,等待一段时间后,查看datanodes:
2.4. 点击jdk文件,查看分块信息
第0块在npfdev2和npfdev4上面:
第1块在npfdev2和npfdev4上面:
2.5. jdk文件在hdfs中的分块图
五、启动停掉的npfdev3上面的datanode节点,通过网页观察datanode的动态添加.
1. 在npfdev3上运行启动命令:
2. 在启动之后,查看datanodes: