CDH4.4 HA使用感受

HA配置

安装Cloudera CDH4 官方文档配置,还算顺利,地址如下:

http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-High-Availability-Guide/CDH4-High-Availability-Guide.html

集群环境

我没有配置fencing和自动failover,试用了一下Quorum-based Storage和手动切换,基本配置如下:

  • NameNode两台:nn1(active)、nn2(standby)
  • JournalNode三台:JN1、JN2、JN3

测试过程

测试方法:使用hadoop put 命令上传一个2GB文件,中途使用kill -9 杀掉nn1,然后使用如下命令将nn2修改为active,查看上传文件是否完整。

sudo -u hdfs hdfs haadmin -transitionToActive nn2

看到的现象如下:

  1. kill -9 nn1后,上传文件的hadoop客户端不停打印retry日志
  2. 切换nn2为active后,hadoop上传客户端停止打印retry日志,继续传输文件,最后传输完毕
  3. 查看本地文件和hdfs文件,发现文件完整,没有因为nn1强制退出导致损坏

脑裂测试

    此外我还特地搞出了脑裂的效果,如下图,两个NN都是active,读取和写入居然都正常...... 官方文档提到如果出现脑裂将可能导致数据丢失。为了避免脑裂,CDH通过pencing脚本来控制。

CDH4.4 HA使用感受

总结

CDH4(Hadoop2.0)HA功能已经可以解决集群单点问题,试用过程非常稳定。

相关推荐