我们都知道,hadoop namenode是一个臭名昭著的单点故障点(SPOF)。 当你找到一篇High  Availability的文章, 以为使用heartbeat/pacemaker, corosync就能帮助你建立一个高可用系统,就能达到99.99%的高可靠性,那么你就错了。我们还需要更进一步,网络冗余。但是很可惜,几乎我们找到的所有关于HA的文章很少提到网络冗余。在电信部门的同志都知道,高可靠系统,任何东西都需要冗余:电源,存储…,当然也包括网卡。当我们引入heartbeat/pacemaker时,节点之间的heartbeat通讯就可能是新的单点故障点。

各个公司都有自己的网络冗余方案,linux本身也提供类似的功能:linux bonding。 关于bonding的详细描述,请参照:http://linux-ip.net/html/linux-ip.html#ether-bonding

在本文的事例中,每一台服务器有两个网卡,每一个网卡都会两个逻辑节点bond0和bond1。Bond0用于与外部服务器通讯,提供对外服务。Bond1用于内部heartbeat通讯。服务器与任何一个路由器之间出现问题,linux会快速切换到另外一条链路。高层应用程序使用冗余的链路进行通讯。

注意,我们在配置bonding时应该设置bonding mode=1,也就是说尽管有两条链路,但是在任何时刻,只有一条能收发数据。

网络冗余不仅适用hadoop name node,它还适用于mysql和任何要求HA的地方

最新文章

  1. Thinking in Java——笔记(13)
  2. 存到cookie里能提高性能吗?
  3. iframe自适应宽度
  4. Python time模块学习
  5. Hql查询结果动态组装 List(map),List(bean),List(list),List(set)等格式(转)
  6. java日期类型转换总结date timestamp calendar string
  7. Effective Modern C++翻译(1):序言
  8. JAVA_Reflection1
  9. Sicily shortest path in unweighted graph
  10. D - Cow Ski Area
  11. Thrift入门初探(2)--thrift基础知识详解
  12. Js之浅谈dom操作
  13. linkin大话java
  14. jQuery EasyUI Datagrid性能优化专题
  15. C# 根据Excel生成树
  16. 光源 材质 简析——基于《real time rendering》第三版 第五章
  17. 如何获取token值
  18. var 声明变量的变量提升问题(let/const)
  19. 常见的移动端Web页面问题解决方案
  20. springboot或者jetty等启动服务器后,如何去停止这个服务

热门文章

  1. HTML表单提交总结
  2. Spotlight on linux 监控 linux服务器资源
  3. SMACH(五)----用户数据UserData类和重映射Remapper类的原理和例子
  4. 编写简单登陆和注册功能的demo时遇到的问题
  5. SMB协议概述
  6. Linux下环境变量设置技巧,不用/etc/profile而是在/etc/profile.d目录下新建特定的shell文件来设置
  7. python中的__all__和__slots__
  8. How do I use Tasker to run a sync in FolderSync?
  9. Install WordPress Plugins without FTP Access
  10. linux(系统centos6.5)常用命令总结