zoukankan      html  css  js  c++  java
  • 高可用性(HA) 4

    我们都知道,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的地方

  • 相关阅读:
    登陆的一个大概流程
    过滤器实现编码过滤处理
    注册的一个大概流程
    lstm clip
    gemm c++
    lstm的debug模式下编译不行貌似
    caffe编译关于imread问题的解决
    c++ 走向高级之日积月累
    c++ 线程
    InitGoogleLogging坑爹
  • 原文地址:https://www.cnblogs.com/james1207/p/3257879.html
Copyright © 2011-2022 走看看