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

简介: 本节主要内容ifconfig命令网络配置其它常用网络管理命令1. ifconfig命令ifconfig命令主要用于配置网络接口,如果不加任何参数,则ifconfig命令用于查看当前所有活动网络接口的状态信息,例如: 图中的eth0表示活动的以太网接口,对应的描述信息中给出了网络的整体状况信息包括网络类型、MAC地址、IP地址、子网掩码等等,lo表示本地环回

本节主要内容

  1. ifconfig命令
  2. 网络配置
  3. 其它常用网络管理命令

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相关技术资讯
这里写图片描述

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
人工智能 分布式计算 大数据
大数据≠大样本:基于Spark的特征降维实战(提升10倍训练效率)
本文探讨了大数据场景下降维的核心问题与解决方案,重点分析了“维度灾难”对模型性能的影响及特征冗余的陷阱。通过数学证明与实际案例,揭示高维空间中样本稀疏性问题,并提出基于Spark的分布式降维技术选型与优化策略。文章详细展示了PCA在亿级用户画像中的应用,包括数据准备、核心实现与效果评估,同时深入探讨了协方差矩阵计算与特征值分解的并行优化方法。此外,还介绍了动态维度调整、非线性特征处理及降维与其他AI技术的协同效应,为生产环境提供了最佳实践指南。最终总结出降维的本质与工程实践原则,展望未来发展方向。
712 0
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
589 61
|
11月前
|
安全 Linux 网络安全
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
275 0
Nipper 3.9.0 for Windows & Linux - 网络设备漏洞评估
|
12月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
698 18
|
12月前
|
网络协议 关系型数据库 Linux
【App Service Linux】在Linux App Service中安装 tcpdump 并抓取网络包
在App Service for Linux环境中,无法像Windows一样直接使用网络排查工具抓包。本文介绍了如何通过TCPDUMP在Linux环境下抓取网络包,包括SSH进入容器、安装tcpdump、执行抓包命令及下载分析文件的完整操作步骤。
519 5
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
806 79
|
11月前
Vite使用svg-企业级开发(支持本地svg和网络svg渲染)
本教程介绍如何在Vite项目中集成SVG图标插件。首先安装`vite-plugin-svg-icons`,配置插件指向SVG图标目录,并注册全局组件。接着创建SVG图标组件,支持内部图标与外部图片展示。通过简单配置,即可在页面中灵活使用各类SVG图标,提升开发效率。
532 0
|
Web App开发 网络协议 Linux
【Linux】网络基础
TCP/IP五层模型是网络通信的基础框架,将复杂的数据传输过程分为物理层、数据链路层、网络层、传输层和应用层,每层各司其职,协同完成远程通信。该模型确保了不同设备和网络之间的互联互通,是现代互联网运行的核心机制。
1380 5
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
600 32