Spark修炼之道(基础篇)——Linux大数据开发基础:第八节:网络管理,spark第八节


本节主要内容

1. ifconfig命令

ifconfig命令主要用于配置网络接口,如果不加任何参数,则ifconfig命令用于查看当前所有活动网络接口的状态信息,例如:
这里写图片描述
图中的eth0表示活动的以太网接口,对应的描述信息中给出了网络的整体状况信息包括网络类型、MAC地址、IP地址、子网掩码等等,lo表示本地环回网络地址。从图中可以看到,所有的网络类型都是inet即基于TCP/IP协议的网络。

目前支持的主流协议包括:
 inet (TCP/IP, 默认), 
 inet6 (IPv6), 
 ax25 (AMPR Packet Radio),
 ipx (Novell  IPX)  
 netrom (AMPR Packet radio).

ifconfig其它常用选项包括:

 -a     显示所有网络接口,包括停用的

 -s     短格式显示网络信息,同netstat -i
 -v     显示详细信息,在网络出错的情况下适用
 interface  指定网络接口
 up     启用网络接口

 down   关闭网络接口

例子:
(1)ifconfig -a
这里写图片描述
图中的pan0表示蓝牙设备,默认不开启
(2) ifconfig pan0 up
开启前 ifconfig -a显示的信息

pan0      Link encap:Ethernet  HWaddr d6:98:40:b0:9e:9d  
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

执行完命令ifconfig pan0 up后

pan0      Link encap:Ethernet  HWaddr d6:98:40:b0:9e:9d  
          inet6 addr: fe80::d498:40ff:feb0:9e9d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:468 (468.0 B)

(3) ifconfig eth0 down禁用网络
这里写图片描述

2. 网络配置

目前网络配置采用的仍然是NAT即网络地址转换的形式
这里写图片描述
除NAT连网方式,VMWare还提供桥接(Bridged)与Host-only网络连接方式。它们之间的相关描述如下(部分内容引自http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646007.html):

(1)桥接
桥接网络是指本地物理网卡和虚拟机网卡通过VMnet0虚拟交换机进行桥接,物理网卡和虚拟网卡在拓扑图上处于同等地位,即物理网卡和虚拟网卡就相当于处于同一个网段,虚拟交换机就相当于一台现实网络中的交换机,因此两个网卡的IP地址也要设置为同一网段。
如果局域网中还有其他设备需要登录到虚拟机上,例如虚拟机提供ssh登录,此时最适用于使用桥接方式进行连网。

(2)NAT
NAT模式中,就是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问网络。NAT模式中,虚拟机的网卡和物理网卡的网络,不在同一个网络,虚拟机的网卡,是在vmware提供的一个虚拟网络。

(3)Host-Only
在Host-Only模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机。其实Host-Only网络和NAT网络很相似,不同的地方就是Host-Only网络没有NAT服务,所以虚拟网络不能连接到Internet。主机和虚拟机之间的通信是通过VMware Network Adepter VMnet1虚拟网卡来实现的。

  Host-Only的宗旨就是建立一个与外界隔绝的内部网络,来提高内网的安全性。这个功能或许对普通用户来说没有多大意义,但大型服务商会常常利用这个功能。如果你想为VMnet1网段提供路由功能,那就需要使用RRAS,而不能使用XP或2000的ICS,因为ICS会把内网的IP地址改为192.168.0.1,但虚拟机是不会给VMnet1虚拟网卡分配这个地址的,那么主机和虚拟机之间就不能通信了。

NAT和桥接的比较:

(1) NAT模式和桥接模式虚拟机都可以上外网。

(2) 由于NAT的网络在vmware提供的一个虚拟网络里,所以局域网其他主机是无法访问虚拟机的,而宿主机可以访问虚拟机,虚拟机可以访问局域网的所有主机,因为真实的局域网相对于NAT的虚拟网络,就是NAT的虚拟网络的外网,不懂的人可以查查NAT的相关知识。

(3) 桥接模式下,多个虚拟机之间可以互相访问;NAT模式下,多个虚拟机之间也可以相互访问。

如果你建一个虚拟机,只是给自己用,不需要给局域网其他人用,那么可以选择NAT,毕竟NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,只要虚拟机的网路配置是DHCP,那么你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可,就可以让虚拟机联网了。

综述
  在VMware的3中网络模式中,NAT模式是最简单的,基本不需要手动配置IP地址等相关参数。至于桥接模式则需要额外的IP地址,如果是在内网环境中还很容易,如果是ADSL宽带就比较麻烦了,ISP一般是不会大方的多提供一个公网IP的。

在后期Hadoop、Spark集群搭建时,我们不建议使用NAT网络连接方式,因为NAT方式,每次关闭虚拟机重新启动后,分配的IP地址可能会不一样,这样的话不利用主机与IP地址的映射,因此推荐使用桥接方式,本节将着重讲解如果通过桥接方式进行网络配置,在配置之前先将虚拟机的网络连接方式设置为桥接,如下图
这里写图片描述

完成后按如下步骤进行网络配置:

1 修改 /etc/network/interfaces 文件内容,修改后的内容如下:
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.120
netmask 255.255.255.0
gateway 192.168.1.1

2 使配置后的网络地址生效
root@ubuntu:/var/lib/aptitude# vim /etc/network/interfaces 
//启动网络
root@ubuntu:/var/lib/aptitude# ifconfig eth0 up
//查看ip地址,发现没有产生变化
root@ubuntu:/var/lib/aptitude# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:e1:4c:1f  
          inet addr:192.168.47.130  Bcast:192.168.47.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee1:4c1f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25217 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7879 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15912320 (15.9 MB)  TX bytes:588004 (588.0 KB)
          Interrupt:19 Base address:0x2024 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:153 errors:0 dropped:0 overruns:0 frame:0
          TX packets:153 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:11580 (11.5 KB)  TX bytes:11580 (11.5 KB)

pan0      Link encap:Ethernet  HWaddr d6:98:40:b0:9e:9d  
          inet6 addr: fe80::d498:40ff:feb0:9e9d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:468 (468.0 B)
//通过下列命令之后,修改后的ip地址才会生效
root@ubuntu:/var/lib/aptitude# /etc/init.d/networking restart
 * Reconfiguring network interfaces...                                       SIOCDELRT: No such process
ssh stop/waiting
ssh start/running, process 14692
                                                                      [ OK ]
root@ubuntu:/var/lib/aptitude# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0c:29:e1:4c:1f  
          inet addr:192.168.1.120  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fee1:4c1f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:25217 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7899 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:15912320 (15.9 MB)  TX bytes:591109 (591.1 KB)
          Interrupt:19 Base address:0x2024 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:156 errors:0 dropped:0 overruns:0 frame:0
          TX packets:156 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:11826 (11.8 KB)  TX bytes:11826 (11.8 KB)

pan0      Link encap:Ethernet  HWaddr d6:98:40:b0:9e:9d  
          inet6 addr: fe80::d498:40ff:feb0:9e9d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:468 (468.0 B)

3 设置DNS
光通过前面的设置,只能进行同一网络下的主机之间通信,如果要连接公网,还需要设置DNS,方法如下:
vim /etc/resolv.conf

这里写图片描述

将nameserver修改为8.8.8.8(google提供的域名解析服务)
,保存完成后,再执行
/etc/init.d/networking restart命令使域名设置生效。
完成后,如果使用ping www.baidu.com命令,能ping通则说明配置成功

这里写图片描述

3. 其它常用网络管理命令

(1)host进行DNS查询

root@ubuntu:/var/lib/aptitude# host www.baidu.com
www.baidu.com is an alias for www.a.shifen.com.
www.a.shifen.com has address 119.75.218.70
www.a.shifen.com has address 119.75.217.109

(2)netstat命令

netstat命令可以显示网络接口的很多统计信息,包括打开的socket和路由表

root@ubuntu:/var/lib/aptitude# netstat -r 
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     *               255.255.255.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
default         192.168.1.1     0.0.0.0         UG        0 0          0 eth0

(3)traceroute命令

traceroute命令进行路由追踪

root@ubuntu:/var/lib/aptitude# traceroute www.baidu.com
traceroute to www.baidu.com (119.75.217.109), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  3.382 ms  3.164 ms  3.610 ms
 2  218.108.255.67 (218.108.255.67)  3.354 ms  3.114 ms  2.884 ms
 3  218.109.2.70 (218.109.2.70)  2.683 ms  2.798 ms  2.300 ms
 4  30.250.9.6 (30.250.9.6)  2.634 ms  3.524 ms  2.535 ms
 5  30.207.6.97 (30.207.6.97)  3.085 ms  2.257 ms  2.891 ms
 6  *

(4)ping命令

ping命令常用来测试网络连接是否正常

root@ubuntu:/var/lib/aptitude# ping www.baidu.com 
PING www.a.shifen.com (119.75.218.70) 56(84) bytes of data.
64 bytes from 119.75.218.70: icmp_seq=1 ttl=55 time=68.3 ms
64 bytes from 119.75.218.70: icmp_seq=2 ttl=55 time=113 ms
64 bytes from 119.75.218.70: icmp_seq=3 ttl=55 time=69.4 ms

添加公众微信号,可以了解更多最新Spark、Scala相关技术资讯
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关内容