- 概述
随着集群的完善,分布式切片顺利的测试通过,进入了实质的发地图服务阶段。公司基于虚拟机搭建了比较庞大的spark,Hadoop集群,本人本地机也有小型的spark集群,其网络模式均采用NAT模式,无法有效利用公司局域网,也不方便其他开发、测试人员共享集群资源,所以决定将所有集群改造为桥接模式,并入公司局域网。
本篇,以我本人本地安装的spark集群中的一个节点的虚拟机为例,来慢慢阐述整个过程,完整记录下来,希望对有类似需求的同学有所帮助。
进行本篇操作时,我们假设您已经掌握了Linux相关入门级别的技能,如网络管理,入门基础命令等等,并且对虚拟机有一定了解,包括熟悉CentOS,本篇以CentOS7为例。如果您还没有以上相关技能,请先行学习掌握它们。这里,本人推荐参考GITHub:https://github.com/lbqbb/Linux-Talent-Development-Plan,以方便您快速入门。
- 过程
- 原来的集群网络模式
2.配置LinuxIP地址
打开本地机cmd,输入ipconfig命令,回车:
记住红框处的信息,下面会用到。
如果安装有图形界面,则可以使用setup命令修改并配置IP地址;如果是纯文本界面,则修改文件/etc/sysconfig/network-scripts/ifcfg-ens33,
将原来的配置,如图:
修改为,如图:
主要修改项有:
把ONBOOT=no,改为ONBOOT=yes
仅保留IPV6INIT=no,其余IPV6相关信息均注释或者删除
修改模板参照:
DEVICE=ens33
BOOTPROTO=none
HWADDR=XXXXXXXX
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
UUID="xxxxxxxxxxxxxxx"
IPADDR=192.168.0.252
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=202.106.0.20
IPV6INIT=no
USERCTL=no
3.启动网卡
#service network restart
重启网络服务
重启后,输入#ifconfig命令,就可以看到ens33网卡,如图:
4.修改UUID
- #vim /etc/sysconfig/network-scripts/ifcfg-ens33
#删除MAC地址行,即HWADDR=XXXXXXXX行
- rm -rf /etc/udev/rules.d/70-persistent-ipoib.rules
- #shutdown -r now
重启动系统
注意:
如果该虚拟机是自己安装而非复制而来,则不需要执行修改UUID步骤
5.设置虚拟机网络连接方式
打开VMware,选择需要修改的虚拟机,右击设置,或者在右侧点击编辑虚拟机设置,如图:
将NAT改为桥接,同时打开本地机或者服务器的网卡设置,确保有如下网卡:
属于虚拟机的有VMnet1和VMnet8,确保两种都有正常工作。其中VMnet1对应于hostonly,VMnet8对应于NAT,如图:
选择桥接,虚拟机不光可以和宿主机通讯,也可以和局域网内其他机器通讯,很方便,所以勾选桥接,点击确定。
6.修改桥接网卡
1)按照顺序打开VMware—> 编辑—> 虚拟网络编辑器,检查虚拟机网卡是否有VMnet0选项,如图:
如果没有,请自行解决相关问题,确保你的网卡包含此网卡。
2)确保虚拟机网卡和主机一致
此处注意,无线网卡一定带有wireless字样,我的机器采用网线上网,而非连接无线,如图
在虚拟机网卡中,桥接到选项选择和红框一致的网卡,然后确定。
7.验证
执行命令,如下:
#ping -c 3 www.baidu.com
#ping -c 3 www.sina.com
如果你的虚拟机带有图形界面,可以直接在浏览器中尝试访问百度,新浪等门户网站验证,如图:
8.局域网其他机器验证
我在自己本地主机,服务器的验证,如图:
- 结果
到这步,我们已经完成了将虚拟机桥接并入局域网的目的。不管是工作还是学习,在涉及虚拟机使用时,首先推荐桥接模式,桥接模式可以和主机共享网络,也可以方便访问局域网内其他机器,在进行一些实验,测试等工作中非常方便。
本章操作主要应用到本人公司现有的集群,所以在涉及虚拟机数量较为庞大的时候,建议提前了解和规划好局域网内的IP,防止冲突。
- 虚拟机桥接并入局域网(二)
之前的操作均针对CentOS7桌面版本,但是实际上并非所有Linux系统都带有桌面,作为服务器的操作系统而言,安全稳定为首要考虑标准,所以很多服务器的Linux操作系统均采用纯文本界面,之后的示例均以centiOS6.9最小版本系统为例。
- 按照之前步骤操作存在的问题
如果在纯文本Linux系统中配置桥接网络,按照如上操作步骤,您很可能会遇到如下问题:
即使可以和宿主机,局域网内其他机器相互ping,但是无法访问外网,如执行#ping -c 3 www.baidu.com,会显示:
Ping 宿主机和其他机器可以通:
但是,去ping百度,新浪,却不通,如图:
网卡配置如图:
在依依排除后,发现是DNS配置问题,也就是说当前所配的DNS无法正常被解析工作,如:
2.替换合适的DNS
我们可以先执行ping DNS,测试是否可以正常工作,如:ping -c 3 8.8.8.8,如图:
3.写入网卡配置文件
修改DNS1,替换为8.8.8.8,如图;
然后重启网络,执行ping命令,如图;
4.重启系统后验证
如图:
5.模板
网卡配置模板可参照如图;