# 设置固定 IP

搭建的集群总共 3 台虚拟机,每台虚拟机均使用 NAT 模式接入网络,为其分配 IP 并保证每台虚拟机的 IP 处于同一子网段内。所有需要配置固定虚拟机的 IP 地址,这里以虚拟机 master 为例,详细介绍虚拟机固定 IP 地址的步骤。

  • (1) 开启虚拟机并登陆

    登录提示信息
    1
    2
    3
    4
    5
    CentOS release 6.5 (Final)
    Kernel 2.6.32-431.e16.x86_64 on an x86_64
    master login: root # 输入root账户
    Pawwword: # 输入root账户对应的密码,输入密码回车即可,不会出现占位密码
    [root@master ~]# # 出现所示的信息即登录成功,root:表示登录的帐号名;master:表示主机名,可修改;~:表示所在的目录名称

  • (2)重启网络服务,查看各接口信息是否正常,输入 “service network restart

    重启网络服务
    1
    2
    3
    [root@master ~]# service network restart
    Shutting down loopback interface: [ OK ]
    Bringing up loopbak interface: [ OK ]

  • (3)查看虚拟机的虚拟网络编辑器,如图 2-1 所示;点击切换到 VMent8 网卡选项,然后点击又下角更改设置,如图 2-2 所示;然后再切换到 VMent8 网卡选项,将 “使用本地 DHCP 服务将 IP 地址分配给虚拟机(D)” 勾去掉,如图 2-3 所示;最后点击 “NAT 设置(S)”,如图 2-4 所示,记录 “网关 IP (G)”,记住前三网段地址,例如:192.168.146。

  • (4)修改配置文件,运行 “vi /etc/sysconfig/network-scripts/ifcfg-eth0” 命令
    查看配置文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    [root@master ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
    # 进入修改的配置文件,正确应该如下所示,如果进入的文件是没有信息的,请仔细检查路径是否正确
    DEVICE=eth0 #设备名,克隆时需要修改
    HWADDR=00:0C:29:C4:55:27 #网卡地址,克隆时需要修改
    TYPE=Ethernet
    UUID=f994c111-ad56-8178-6c6069d8818c
    ONBOOT=no #设置系统启动时是否激活网卡,1、需要修改
    NM_CONTROLLED=yes
    BOOTPROTO=dhcp #网络配置模式,总共4种模式 2、需要修改

BOOTPROTO 虚拟机的网络模式说明,如下表所示:

网络模式说明
dhcp设置网卡绑定的时候通过 DHCP 协议的方法来获得地址
none设置网卡绑定的时候不使用任何协议
bootp设置网卡绑定的时候使用 BOOTP 协议
static设置网卡绑定的时候使用静态协议

查看和了解完配置信息之后,需要修改配置文件,主要修改 onboot、bootproto 以及添加静态 ip 地址信息,修改如下所示,修改完成 “:wq” 保存退出。

1
2
3
4
5
6
7
8
9
10
11
12
DEVICE=eth0			
HWADDR=00:0C:29:C4:55:27
TYPE=Ethernet
UUID=f994c111-ad56-8178-6c6069d8818c
ONBOOT=yes #1、no修改成yes
NM_CONTROLLED=yes
BOOTPROTO=static #2、dhcp修改成static
#添加一下内容
IPADDR=192.168.146.171 #IPADDR前三个子段需要和虚拟网络编辑器一致,最后一个数字需要在0~255之间
NETMASK=255.255.255.0
GATEWAY=192.168.146.2 #和虚拟网络编辑器网关ip一致
DNS1=192.168.146.2 #和GATEWAY保持一致

  • (4)再次重启网络服务并查看 IP,查看 IP 地址是否已经设置成功,如果 inet addr:出现设置 ip 的地址信息,即 ip 设置成功,并使用 ping 进行网络功能测试。

重启网络服务并查看IP地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[root@master ~]# service network restart
Shutting down loopback interface: [ OK ]
Bringing up loopbak interface: [ OK ]
Bringing up interface eth0: Determining if ip address 192.168.146.171 is already in use for device eth0... [ OK ]
[root@master ~]# service network restart
eth0 Link encap:Ethernet HWaddr 00:0C:29:C4:55:27
inet addr:192.168.146.171 Bcast:192.168.146.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec4:5527/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:41 errors:0 dropped:0 overruns:0 frame:0
TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4743 (4.6 KiB) TX bytes:5617 (5.4 KiB)

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:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:264 (264.0 b) TX bytes:264 (264.0 b)
[root@master ~]# ping wwww.baidu.com
PING www.a.shifen.com (36.152.44.95) 56(84) bytes of data.
64 bytes from 36.152.44.95: icmp_seq=1 ttl=128 time=21.2 ms
64 bytes from 36.152.44.95: icmp_seq=2 ttl=128 time=18.4 ms
64 bytes from 36.152.44.95: icmp_seq=3 ttl=128 time=16.6 ms
64 bytes from 36.152.44.95: icmp_seq=4 ttl=128 time=18.6 ms
^C
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 4024ms
rtt min/avg/max/mdev = 16.668/18.752/21.232/1.626 ms
# ctrl+c 键进行结束

  • (5) 远程连接虚拟机

    在 VMWare 的虚拟机窗口中操作 Linux 系统非常不方便,比如无法复制和粘贴,因此推荐使用 Xshell 远程连接 Linux 系统。打开 xshell 软件,并点击文件菜单,在出现的菜单栏中选择 “新建” 命令,如图 2-5 所示;配置新建的的会话窗口,在连接的信息中,名称可以自己填写,主机就是刚刚配置的 IP 地址,端口号默认,配置完成点击确定即可,如图 2-6 所示;在新建完会话后,在会话窗口可以看见刚刚新建的会话,点击新建的会话并连接,如图 2-7 所示;弹出登录的用户和密码,输入对应的信息即可,在输入的时候都可以点击保存,下次再登录不用再输入,如图 2-8、3-9 所示;输入信息无误后,就可以显示登录成功,如图 2-10 所示。

D8GK10.md.jpg

D8Gupq.md.jpg

D8Gmhn.md.jpg

# 虚拟机在线安装软件

# RPM 工具:本地包安装

RPM 是”Redhat Package Manager” 的缩写,根据名字也能猜到这是 Redhat 公司开发出来的。RPM 是以一种数据库记录的方式来将你所需要的套件安装到你的 Linux 主机的一套管理程序。也就是说,你的 linux 系统中存在着一个关于 RPM 的数据库,它记录了安装的包以及包与包之间依赖相关性。RPM 包是预先在 linux 机器上编译好并打包好的文件,安装起来非常快捷。但是也有一些缺点,比如安装的环境必须与编译时的环境一致或者相当;包与包之间存在着相互依赖的情况;卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。
每一个 rpm 包的名称都由”-“和”.” 分成了若干部分。就拿 a2ps-4.13b-57.2.el5.i386.rpm 这个包来解释一下,a2ps 为包名;4.13b 则为版本信息;57.2.el5 为发布版本号;i386 为运行平台。其中运行平台常见的有 i386, i586, i686, x86_64 ,需要你注意的是 cpu 目前是分 32 位和 64 位的,i386,i586 和 i686 都为 32 位平台,x86_64 则代表为 64 位的平台。另外有些 rpm 包并没有写具体的平台而是 noarch,这代表这个 rpm 包没有硬件平台限制。例如 alacarte-0.10.0-1.fc6.noarch.rpm
RPM 管理支持事务机制。增强了程序安装卸载的管理。

  • RPM 的功能:
    打包、安装、查询、升级、卸载、校验、数据库管理。
  • RPM 的缺点:
    由于 Linux 中的程序大多是小程序。程序与程序之间存在非常复杂的依赖关系。RPM 无法解决软件包的依赖关系。
  • RPM 包
    用 RPM 工具可以将二进制程序进行打包,包被称为 RPM 包。RPM 包并不是跨平台的

# yum 工具:联网安装

介绍完 rpm 工具后,还需要你掌握最常用的 yum 工具,这个工具比 rpm 工具好用多了,当然前提是你使用的 linux 系统是支持 yum 的。yum 最大的优势在于可以联网去下载所需要的 rpm 包,然后自动安装,在这个工程中如果要安装的 rpm 包有依赖关系,yum 会帮你解决掉这些依赖关系依次安装所有 rpm 包。

yum 的命令格式一般如下:

yum的命令格式
1
yum [options] [command] [packages..]

[options] 可选参数说明如下:

选项说明
-h显示帮助信息
-y对所有的提问都回答 “yes”
-c指定配置文件
-q安静模式
-v详细模式
-d设置调试等级(0-10)
-e设置错误等级(0-10)
-R设置 yum 出来一个命令的最大等待时间
-C完全从缓存中运行,而不去下载或者更新任何文件

[command] 为所要进行的操作,如下所示:

参数说明
install安装 RPM 软件包
update更新 RPM 软件包
check-update检查是否有可用的 RPM 软件包更新
remove删除指定的 RPM 软件包
list显示软件包信息
search检查软件包信息
info显示指定的 RPM 软件包的描述信息和概要信息
clean清理 yum 过期的缓存
resolvedep显示 RPM 软件包的依赖关系
localinstall安装本地 RPM 软件包
localupdate更新本地 RPM 软件包
deplist显示 RPM 软件包的所有依赖关系

在 xshell 给虚拟机安装软件:安装 vim(类似 vi)、openssh-server(连接服务)、openssh-clients(客户端)

yum安装软件
1
[root@master ~]# yum install -y vim openssh-server openssh-clients

yum 安装软件只是测试安装,熟悉 yum 安装过程,上述软件在 hadoop 搭建过程中不作要求安装。

# 可能出现的问题

IP地址没有修改成功?

请仔细查看修改的配置文件是否正确

虚拟机网络设置成功并能够上网,但是Xshell无法连接虚拟机?