AvatarNode集群测试(五)- - - - 系统测试

AvatarNode的失效切换(写文件)测试

 

1. 启动虚拟机集群

2. 启动Ucarp

3. 挂在NFS

4. 格式化HDFS

5. 启动HDFS

----------------------------------------------------------------

这些都是之前的工作,没有问题了

----------------------------------------------------------------

 

6. 准备测试脚本

 

从《高可用性的HDFS》附录光盘中copy出我们需要的四个文件,分别是

 

test04_IO        ---可执行脚本,用来远程调用AvatarDataNode1和AvatarDataNode2上的脚本write_to_hdfs

read_form_hdfs_IP    ---读文件测试脚本,这里不用

write_to_hdfs      ---写文件测试脚本,在本地磁盘/tmp/目录下建立test.iso文件copy到HDFS上的/tmp/(本机IP)目录下               

makefile         --- 负责建立/tmp/test.iso

其中在test04_IO和write_to_hdfs里面,需要修改目的IP地址,和hadoop的存放目录,否则找不到远程执行程序

这四个文件都放在/usr/hadoop/hadoop-0.20.3-dev/bin目录下

 

7.在AvatarDataNode1和AvatarDataNode2两个节点上copy 80 个 10m的文件到HDFS上

  $ /usr/hadoop/hadoop-0.20.3-dev/bin/test04_IO.sh  80 2000000 10 write

  四个脚本参数分别代表:

  80 --文件个数

  20000000 --文件大小

  10  ---文件传输间隔

  write  ---是读还是写

 

8.本次copy结束后,删除这些文件

  $ /usr/hadoop/hadoop-0.20.3-dev/bin/hadoop -rm -skipTrash /tmp/192.168.0.*/*

 

9. 在NFS服务器上执行远程copy命令

  因为我们需要宕掉AvatarNode,因此不能在AvatarNode上执行

  务必确保NFS和AvatarDataNode1、AvatarDataNode2的SSH保持通畅

 $ /usr/hadoop/hadoop-0.20.3-dev/bin/test04_IO.sh  80 2000000 10 write

 

10. AvatarNode宕掉,StandbyNode上位

 ① 在宕掉AvatarNode之前,先查看一下当前的primary,可以看到虚拟IP是当前的主节点

② 宕掉AvatarNode后,传输出现异常

看一看到,NameNode is in safe mode,说明Ucarp虚拟IP已经切换到了StandbyNode,但是当前Standby节点还没有切换为Primary出于保护模式,拒绝了写请求

 

③ 将StandbyNode切换成为primary node

 整个切换过程根据文件传输的状态,丢失了10个文件,大约100s的时间

 

11. 检查文件传输状态

  可以看到,当前原AvatarNode已经不在,而StandbyNode可以连接查看

 

12. 最终的传输结果

可以看到,10045这个文件的大小为0,因为在传输这个文件的时候主机宕掉,因此传输失败

并且,10046~10057之间的文件都没有写入,因为此时StandbyNode处于保护模式,没有接管Primary的工作

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2012-09-16 20:55  melburg  阅读(149)  评论(0)    收藏  举报