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

高可用性(HA) 4 - network bonding的更多相关文章

  1. 集群(cluster)和高可用性(HA)的概念

    1.1 什么是集群 简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点(node).一个理想的集群是,用户从来不会意识到集群系统 ...

  2. Citrix 服务器虚拟化之十 Xenserver高可用性HA

    Citrix 服务器虚拟化之十 Xenserver高可用性HA HA是一套全自动功能设计,规划.它可以安全地恢复出现问题的XenServe 主机.例如物理破坏网络或主机的硬件故障,HA可确保无需任何人 ...

  3. Configure network bonding on RHEL (Red Hat Enterprise Linux)

    Question: Recently I have to use the RHEL and need to config the network with a few NICs. Here comes ...

  4. 架构之高可用性(HA)集群(Keepalived)

    Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.高可用(High Avalilability,HA),其实两种不同的含义:广义来讲,是指整个系统的高可用行,狭 ...

  5. Storm系统高可用性HA表现

    关于Storm的高可用,有以下几个方面: (1)数据利用阶段可以通过ACK机制保证数据被处理: (2)在进程级别,worker失效,supervisor会自动重启worker线程; (3)在组件级别, ...

  6. kickstart bonding安装

    bonding用的是最简单的负载均衡模式,交换机不需要做配置. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Lin ...

  7. Keepalived + nginx实现高可用性和负载均衡

    在前面的一篇中讲到了Heartbeat作为高可用服务架构的解决方案,今天有试验了一种全新的解决方案,即采用Keepalived来实现这个功能. Keepalived 是一种高性能的服务器高可用或热备解 ...

  8. 使用Keepalived配置主从热备实现Nginx高可用(HA)

    Keepalived 简要介绍 Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived 可以用来防止服务器单点故障的发生,通过配合 Nginx 可以实现 web 前端服务 ...

  9. QL Server 高可用性(一)AlwaysOn 技术

    从 SQL Server 2008 开始,微软在“高可用”.“灾难恢复”技术中使用 AlwaysOn 一词.在 SQL Server 2012 中,微软明确地打出的 AlwaysOn 招牌. SQL ...

随机推荐

  1. ZeptoLab Code Rush 2015 A. King of Thieves 暴力

    A. King of Thieves Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/526/pr ...

  2. SMACH专题(三)----几种State类型

    状态机提供了若干种状态,包括了Generic State,CBState,SimpleActionState (ROS),ServiceState (ROS),MonitorState (ROS).下 ...

  3. Linux 内核编译步骤及配置详解

    前言    Linux内核是操作系统的核心,也是操作系统最基本的部分. Linux内核的体积结构是单内核的.但是他充分采用了微内核的设计思想.使得虽然是单内核.但工作在模块化的方式下.并且这个模块可以 ...

  4. Mina 断线重连

    Mina 断线重连 定义:这里讨论的Mina 断线重连是指使用mina作为客户端软件,连接其他提供Socket通讯服务的服务器端.Socket服务器可以是Mina提供的服务器,也可以是C++提供的服务 ...

  5. ubuntu 自动获取ip

    $sudo dhclient -r $sudo dhclient $sudo dhclient eth0

  6. HeapAlloc 和 GlobalAlloc 以及 VirtualAlloc 三者之间的关系(转)

    VirtualAlloc 一次分配 1PAGE 以上的 RAM. 每次分配都是 PAGE 的整数倍. 你不会想为了分配 1 个 BYTE 的空间而浪费剩下的 4095 字节. OK, 你可以自己写算法 ...

  7. 3D数学读书笔记——四元数

    本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/25400659 什么是四元数 ...

  8. golang 字符串与整数, 布尔转换 strconv

    strconv 是golang对于字符串和基本数据类型之间的转换字符串转整数testStr := "1000" testInt, err := strconv.Atoi(testS ...

  9. Blocks与Dispatch Queue的使用

    block是什么block是一个C level的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似.用于回调函数的地方.两个对象间的通讯.实现轻量级的“代理”. blocks和C语言函数指针的 ...

  10. Windows 8 Metro 应用开发入门(一):开发环境介绍

    摘 要 Windows8已经发布,随之而来的基于WinRT的Metro应用也正向我们走来,正像它所宣传的:光滑.快.现代.看习惯了玻璃.立体风格的应用,或许Metro的简洁能给你留下不一样的体验.Vi ...