这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程。

通过HDFS的心跳来测试replication具体的工作机制和流程的PDF版本请猛击这里

 

王家林的“云计算分布式大数据Hadoop实战高手之路”之完整发布目录

 

云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发布云计算实战性资料,欢迎大家加入!

 

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

 

当我们上传文件时候文件会保存2份副本:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

下面我们通过实验的方式探究replication属性配置的作用。

首先关闭集群:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

然后修改hadoop.main这台机器上的hdfs-site.xml配置文件:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

在这个配置文件中加入新的配置信息:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

保存退出。

新加入的配置信息:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

的具体含义是当DataNode和NameNode的心跳失去连接的时间超过15秒之后,Hadoop系统就会认为这个DataNode已经死亡,此时Hadoop会把这个DataNode标记为不能工作的状态,以后如果客户端去 访问数据的时候,Hadoop就不会尝试到这个DataNode去获取数据。

下面看一下其工作的具体方式:

首先启动HDFS:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

进入HDFS的Web监控台的Node页面:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

我们发现hadoop.main和hadoop.slave这两个DataNode均在正常的工作中。

我们观察到“Last Contact”选项的数据,该数据是表明DataNode和NameNode最近联系的心跳成功的时间,我们再次刷新页面看一下这个数据:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

我们发现这个具体的数据时比较低的。

此时我们通过命令行工作查看datanode进程:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

我们发现hadoop.main上运行的DataNode节点的进程是16228,我们把这个DataNode杀掉:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

我们再次刷新HDFS的Node的控制台:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

继续刷新:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

继续刷新:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

可以发现第一个DataNode的心跳时间不断的在增加,同时在第三次刷新的时候心跳间隔时间为25,这个数据超过我们配置文件中的15,再刷新一次:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

此时发现只有一个正在服务的DataNode,因为我们的Hadoop.main中的DataNode心跳间隔时间超过了15秒,Hadoop此时把把该节点标记为无效节点。

我们返回文件系统页面看一下我们上传的文件存储信息:

云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

此外发现文件的可访问信息只是存放在了hadoop.slave这个节点中了,当然,此时我们还是可以正常的访问文件,虽然只有一份可用副本,这就是replication节点的作用,我们在配置该节点的时候把值设置为2,表明同一个文件在HDFS中有两个副本,当一个运行DataNode的进程因为某些原因不能工作的时候,我们依旧可以使用剩余的一份副本工作,这不会影响客户端对数据的访问。