如何为Hadoop集群服务器绑定双万兆网卡

1 文档编写目的

在搭建Hadoop集群时,要求网络使用以太网,最低要求使用千兆网络,推荐使用万兆网络,标准配置是数据网络配备双万兆网卡,管理网络配备双千兆网卡。使用双万兆网卡的好处有以下几点:

  • 提高了Hadoop集群的吞吐能力;
  • 提供网络冗余,把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,仍然能够提供正常的服务,不会因为单块网卡故障而导致节点不可用。

本文将主要讲述如何为Hadoop集群服务器绑定双万兆网卡,以绑定一台服务器的万兆网卡为例,其他服务器操作类似,所有服务器都必须绑定。

测试环境:操作系统版本为Redhat 7.2

文章目录结构:

1. 文档编写目的

2. Linux Bonding

2.1 Linux Bonding介绍

2.2 Bond mode介绍

3. 绑定双万兆网卡

3.1 定位万兆网卡

3.2 绑定双万兆网卡

4. 功能验证

5. 总结

2 Linux Bonding

2.1 Linux Bonding介绍

Linux Bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设备来使用的功能,用于网络负载均衡及网络冗余,在生产场景中是一种常用的技术。可以通过以下命令确定内核是否支持 bonding:

# cat /boot/config-3.10.0-327.el7.x86_64 | grep -i CONFIG_BONDING

不同操作系统版本,红色字体部分可能有所不同,执行该命令后,得到如下类似输出则表示支持bonding:

2.2 Bond mode介绍

Bond mode一共有7种,分别对应0~6

mode=0:平衡负载模式,有自动备援,但需要“Switch”(交换机)支援及设定。

特点:传输数据包顺序是依次传输。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=2:Balance-XOR policy(平衡策略)

特点:基于指定的传输HASH策略传输数据包,此模式提供负载平衡和容错能力。

mode=3:Broadcast(广播策略)

特点:在每个slave接口上传输每个数据包,此模式提供了容错能力。

mode=4:IEEE 802.3ad(动态链接聚合)

特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。

必要条件:

条件1:ethtool支持获取每个slave的速率和双工设定;

条件2:switch(交换机)支持IEEE802.3ad Dynamic link aggregation;

条件3:大多数Switch(交换机)需要经过特定配置才能支持802.3ad模式。

mode=5:Adaptive transmit load balancing(适配器传输负载均衡)

特点:不需要任何特别的Switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。

必要条件:ethtool支持获取每个slave的速率。

mode=6:Adaptive load balancing(适配器适应性负载均衡)

特点:表示负载均衡方式,两块网卡都工作,不需要交换机作支持。

3 绑定双万兆网卡

3.1 定位万兆网卡

1、登录任意一台服务器,使用“ip a”命令找到状态为“UP”的网卡,我这里两块万兆网卡对应设备是eno50和ens3f1

注意,我这里已经绑定了双万兆网卡,所以能看到我这两块网卡的master是bond0

2、可能存在多块网卡,执行“ethtool eno50”命令,确认状态为“UP”的网卡是否为万兆网卡,其他网卡类似。

3.2 绑定双万兆网卡

1、进入/etc/sysconfig/network-scripts/目录

cd /etc/sysconfig/network-scripts/

2、新建ifcfg-bond0文件,添加内容如下:

DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.1.1 #IP地址NETMASK=255.255.255.128 #掩码值GATEWAY=192.168.1.126 #网关地址USERCTL=no #非root用户不可以控制该网卡NM_CONTROLLED=no #网卡不给NetworkManager管理BONDING_OPTS="mode=4 miimon=100 xmit_hash_policy=layer2+3"

红色字体部分需要依据实际情况修改,这里解释下BONDING_OPTS配置项,mode=4配置的是动态链路聚合;miimon=100代表系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;xmit_hash_policy=layer2+3设置的是外出流量的slave选举策略。

3、修改ifcfg-eno50和ifcfg-ens3f1文件,建议修改前备份。文件内容如下:

[root@bigdata31 network-scripts]# cat ifcfg-eno50DEVICE=eno50BOOTPROTO=noneONBOOT=yesMASTER=bond0 #配置master为bond0SLAVE=yes #启用slaveUSERCTL=noNM_CONTROLLED=no

[root@bigdata31 network-scripts]# cat ifcfg-ens3f1DEVICE=ens3f1BOOTPROTO=noneONBOOT=yesMASTER=bond0 #配置master为bond0SLAVE=yes #启用slaveUSERCTL=noNM_CONTROLLED=no

4、修改完成后,重启网络服务

systemctl restart network

4 功能验证

1、执行“ip a”命令,可以看到bond0,并且eno50和ens3f1的master均为bond0,IP地址一致。

2、使用ethtool工具查看bond0的带宽

5 总结

1、通过Linux Bonding可以把多块网卡绑定为一块逻辑网卡,所有网卡共用一个IP地址;

2、通过ethtool工具可以查看网卡带宽等信息;

3、解绑双网卡操作类似,反向操作,还原配置即可。

参考文章:

http://blog.51cto.com/lixin15/1769338

原文发布于微信公众号 - Hadoop实操(gh_c4c535955d0f)

原文发表时间:2018-08-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏沃趣科技

ASM 翻译系列第二弹:ASM 12C 版本新特性

原作者:Bane Radulovic 译者: 邱大龙 审核: 魏兴华 随着Oracle 12c的发布,也就意味着全新版本的ASM面世了。已知的重大新...

37840
来自专栏信安之路

路由器漏洞 EXP 开发实践

本文主要以 CVE-2013-0230 漏洞为例,讲解路由器上缓冲区漏洞的 exp 编写。

23600
来自专栏Java架构师学习

面对缓存,出现这些问题你要如何思考!

缓存可以说是无处不在,比如 PC 电脑中的内存、CPU 中的二级缓存、HTTP 协议中的缓存控制、CDN 加速技术都是使用了缓存的思想来解决性能问题。 Java...

421100
来自专栏IMWeb前端团队

Grunt插件快速开发笔记

最近写了两个Grunt插件(grunt-htmlstamp 和 grunt-file-modify),已经用在自己的项目中,用得很开心。本文便是记录了Grunt...

23270
来自专栏北京马哥教育

[干货]邮件原理你真的造吗|螃蟹同学

一、前言 虽然现在QQ、微信等即时聊天工具原来越盛行,但是在企业与企业之间大部分还是会使用邮件系统进行信息交换。所以作为运维人员,更需要了解这个技术的原理。下...

49490
来自专栏北京马哥教育

Linux DNS 服务器安装、配置和维护

每个 IP 地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台 IP 设备的 IP 地址,只要记住相...

52050
来自专栏信安之路

轻松了解 web 日志分析过程

日志分析,其实涵盖的面是很广的,什么地方都可以有日志。而本篇文章主要针对 web 日志做一下分析。因为之前去学校里授课的时候有讲过一次,感觉内容挺不错的,就写到...

26720
来自专栏情情说

RabbitMQ实战:性能和安全

前两篇介绍了RabbitMQ在可用性、监控方面的考虑,这是基础保障,因为在某些场景下是不容许丢失消息的,但它和性能往往是对立的,需要根据业务场景做取舍。

72780
来自专栏信安之路

web应用渗透测试流程

对于web应用的渗透测试,一般分为三个阶段:信息收集、漏洞发现以及漏洞利用。下面我们就分别谈谈每个阶段需要做的事情。

16700
来自专栏容器云生态

Openstack平台搭建之第三天

Openstack平台搭建之第三天 If you have any question ,please contact me by weichuangxxb@si...

22590

扫码关注云+社区

领取腾讯云代金券