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

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

 

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

 

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

 

王家林 第六讲Hadoop图文训练课程:使用HDFS命令行工具操作Hadoop分布式集群初体验中,我们配置了hadoop.main这台主机的hdfs-site.xml这个配置文件的“dfs.replication”的值为2:

 

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

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

首先关闭集群:

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

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

保存退出。

新加入的配置信息:

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

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

首先启动HDFS:

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

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

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

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

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

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

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

继续刷新:

继续刷新:

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

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

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

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

原文地址:点击打开链接 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐