准备工作:提前下载和安装好VMware Workstation 15.5
注意:如果你的电脑配置较高,可能需要安装VMware Workstation 17,自行下载和搜索许可证密钥
# VMware Workstation15.5许可证密钥,以下任意一组
UY758-0RXEQ-M81WP-8ZM7Z-Y3HDA
VF750-4MX5Q-488DQ-9WZE9-ZY2D6
UU54R-FVD91-488PP-7NNGC-ZFAX6
YC74H-FGF92-081VZ-R5QNG-P6RY4
YC34H-6WWDK-085MQ-JYPNX-NZRA2
一、CentOS7 的安装
1、CentOS7 的下载【推荐阿里云下载】
阿里云下载地址:
https://vault.centos.org/7.9.2009/isos/x86_64/

在CentOS官方网站上,CentOS 7提供了三种ISO镜像文件的下载:
CentOS ISO:DVD是标准安装盘,一般下载这个就可以了,包含大量的常用软件,体积为4G;Minimal ISO:精简版本,包含核心组件,体积才600多MB;Everything ISO:包含了所有软件组件,体积高达7G。对完整版安装盘的软件进行补充,集成所有软件;
2、VMware安装CentOS7
2.1 打开“ VMware Workstation“软件,选择”创建新的虚拟机“。

注意:
版本:此教程使用VMware Workstation 15.5版本,可自行下载17版本安装并网上搜索序列号注册
硬件:因为是在宿主机上运行虚拟化软件安装centos,主机配置建议i5CPU双核、硬盘500G、内存4G以上。
2.2 选择“自定义安装”选项,然后下一步。
典型安装:VMwear会将主流的配置应用在虚拟机的操作系统上,简单几步,对于新手来说很友好。
自定义安装:自定义安装可以针对性的把一些资源加强,把不需要的资源移除,避免资源的浪费。

2.3 选择“稍后安装操作系统”,点击下一步。

2.4 客户机操作选择“Linux”,版本选择“CentOS 7 64位”,点击下一步。

2.5 填写“虚拟机名称”以及选择存放路径 ,然后点击下一步。

2.6 处理器与内存的分配
处理器分配要根据自己的实际需求来分配。在使用过程中CPU不够的话是可以再增加的。

内存也是要根据实际的需求分配。我的宿主机内存是16G所以我给虚拟机分配2G内存

2.7 网络连接类型的选择NAT
桥接:虚拟机和宿主机共享同一物理网络,它们之间的通信就像在同一个局域网内的两台主机一样。桥接模式下的虚拟机可以拥有自己的独立 IP 地址,虚拟机可以直接访问外部网络,同时外部网络也可以直接访问虚拟机,实现虚拟机与宿主机以及外部网络之间的互通。。
NAT:NAT(Network Address Translation,网络地址转换)模式是一种将虚拟机内部的私有 IP 地址转换为宿主机器外部公网 IP 地址的技术,使虚拟机能够通过宿主机的网络访问互联网。
仅主机:虚拟机与宿主机直接连起来
桥接与NAT模式访问互联网过程,如下图所示


2.8 选择I/О控制器类型、磁盘类型,选择默认即可


2.9 磁盘容量
磁盘容量分配40G,不要勾选立即分配所有磁盘,否则虚拟机会将40G直接分配给CentOS,会导致宿主机所剩硬盘容量减少。 勾选将虚拟磁盘拆分成多个文件,这样可以使虚拟机方便用储存设备拷贝复制。


2.10 磁盘名称,默认即可

2.11点击自定义硬件,取消不需要的硬件


2.12 选中”新CD/DVD“,选择”使用ISO映像文件“,然后选择下载保存的CentOS7的ISO映像路径,点击关闭。


2.13 点击“开启此虚拟机”

2.14 开启虚拟机后会出现以下界面
Install CentOS 7 安装CentOS 7
Test this media & install CentOS 7 测试安装文件并安装CentOS 7
Troubleshooting 修复故障
按ctrl+G键,光标向上选择第一项,安装直接CentOS 7,回车,进入下面安装界面

选择安装过程中使用的语言,这里选择英文、键盘选择美式键盘。点击继续

2.15 【本地化】只配置日期和时间,键盘和语言支持没有特殊情况默认就好。

中国范围内都选择为上海(因为只有上海可选),并选择为24小时制,设置完成后单击完成按钮

2.16 然后选择“软件选择”

基本环境:
方法一:选择最小化安装,附加选项:开发工具 【会比GUI图形界面少1.5G】
【注意:本教程选择此方法,即最小化的安装】

方法二:选择“带GUI”有服务器图形界面,附加选项:开发工具
【注意:此方法了解即可,本教程不使用此方法】

注意:如果以后只需要在linux中进行命令行的操作,则可以选择“”最小化“的安装,减小资源的占用
2.17 选择分区,选择自动配置分区


2.18 配置网络和主机名

首先要打开网卡,然后查看是否能获取到IP地址,更改主机名为master,点击应用后完成。

2.19 点击“开始安装”

2.20 点击设置管理员ROOT密码,建议设置简单密码“123456”


2.21 ROOT密码设置完成之后,等待centos系统的安装完成后“点击重启”。

如果选择的是“最小化安装”,则到此完成安装,登录即可

如果选择的是“GUI图形界面方式”,则继续以下的安装
2.22 点击“LICENSE INFORMATION”。

勾选“我同意许可协议”,点击“完成”。

点击右下角的“完成配置”按钮。

2.23 选择语言,这里我们选择“汉语”,如下图所示。

设置键盘布局,这里默认就是“汉语”,我们再点击右上方的“前进”按钮。

2.24 位置服务,默认是打开的,再点击右上方的“前进”按钮。

时区设置,继续点击“前进”

2.25 连接在线账号,这里我们选择“跳过”。

2.26 输入“全名”,例如“admin”,继续点击“前进”。

设置密码,设置完密码之后,点击“前进”。我设置的密码:Lixiang123456

安装成功
“带GUI”有服务器图形界面的启动界面

以后启动Centos7可以在登录界面直接切换为root用户

最小化安装的启动界面

二、CentOS7 的网络配置
CentOS7 有两种网络配置方法,分别是自动获取 IP 和固定获取 IP(静态 IP)。
1.自动获取IP
因为前面在设置CentOS7的网络适配器的时候,设置是NAT模式。
虚拟机将通过主机的网络连接来访问外部网络,同时主机充当了虚拟机和外部网络之间的中继或代理。
故当前默认的就是自动获取IP,当前的centos是可以直接连接外网的(前提是宿主机可以联网)
ping -c 3 baidu.com
注意:前面我们在安装 CentOS7 时,已设置开通网络且为 NAT 模式,此时 CentOS 应默认是自动获取 IP
例如,在常见的家庭网络环境中,多个设备连接同一个路由器,通常都是自动获取 IP 地址来实现上网的。

在VMware界面(管理员方式启动)点击“编辑”里面的“虚拟网络编辑器”,查看配置(DHCP动态分配IP)


查看网络配置
1.打开centos终端,登录

2.切换目录 :cd /etc/sysconfig/network-scripts/
3.查看当前目录的文件:ls -a
查看ifcfg-xxx名称的配置文件(ifcfg-lo除外),如果没有则说明网卡没有被识别,重装或者换个CentOS的版本。

4.编辑ifcfg-ens33文件:
执行命令:
vi ifcfg-ens33按
i进入insert编辑模式,检查网络配置。修改内容:将
BOOTPROTO设为dhcp,将ONBOOT设为yes。按下
Esc进入命令模式,输入:wq保存并退出。【如不保存退出 ,输入:q】
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="d23bb3f6-1830-4083-a9d6-334ceb5c6824"
DEVICE="ens33"
ONBOOT="yes"
6.配置完成之后输入:service network restart,重启网卡让网卡设置生效。
[root@master network-scripts]# service network restart
Restarting network (via systemctl): [ 确定 ]
7.输入ifconfig检查一下动态分配的IP,可以发现分配的动态IP为192.168.36.194
[root@master network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.36.194 netmask 255.255.255.0 broadcast 192.168.36.255
inet6 fe80::797d:38da:f8a9:ba90 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:e5:6c:0e txqueuelen 1000 (Ethernet)
RX packets 473920 bytes 686483724 (654.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 186112 bytes 11406037 (10.8 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 109 bytes 10838 (10.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 109 bytes 10838 (10.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:32:8b:c2 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
8.最后验证是否可以访问外网
[root@master network-scripts]# ping www.baidu.com -c 3
PING www.a.shifen.com (110.242.68.3) 56(84) bytes of data.
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=1 ttl=128 time=79.6 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=2 ttl=128 time=88.1 ms
64 bytes from 110.242.68.3 (110.242.68.3): icmp_seq=3 ttl=128 time=81.6 ms
--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 79.675/83.143/88.125/3.619 ms
2.连接Finalshell
使用Finalshell,使用刚才的动态IP为192.168.36.194连接主机,便于复制代码进行操作

3.设置静态IP
重点:本教程使用此方式配置Centos7的静态IP地址
配置网络IP地址:
查看IP地址:在VM上点击编辑--虚拟机网络编辑器--NAT配置---IP地址信息(192.168.36.2-网关,可配置静态IP地址的区间是:192.168.36.3---254)

编辑ifcfg-ens33文件
可以使用Finalshell连接centos7,便于复制粘贴
vi /etc/sysconfig/network-scripts/ifcfg-ens33
编辑内容如下:
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.36.100
NETMASK=255.255.255.0
GATEWAY=192.168.36.2
DNS1=114.114.114.114
DNS2=8.8.8.8
NAME=ens33
DEVICE=ens33
ONBOOT=yes
# 解释
TYPE=Ethernet # 网络类型为以太网
BOOTPROTO=static # 启用静态IP地址
IPADDR=192.168.36.100 # 指定静态IP地址
NETMASK=255.255.255.0 # 设置子网掩码
GATEWAY=192.168.36.2 # 设置网关(GATEWAY即”NAT设置“里面的网关IP)
DNS1=114.114.114.114 # 设置DNS1为全国通用中国电信DNS地址
DNS2=8.8.8.8 # 设置DNS2为Google的DNS
NAME=ens33 # 网卡名称,设备名一定要跟文件名一致
DEVICE=ens33 # 网卡设备名称,必须和‘NAME’值一样
ONBOOT=yes # 开启自动启用网络连接
网络重启:
systemctl restart network
# 或者
service network restart
更改FinalShell连接的IP,重新连接主机
测试是否连通:
ping -c 3 www.baidu.com
4.关闭防火墙
检查并关闭防火墙( 以下两个防火墙都要检查一下,并关闭)
# 第一种方法:
systemctl status firewalld #查看防火墙状态
systemctl stop firewalld #停止防火墙(开机会再启动)
systemctl disable firewalld #禁止防火墙开机启动(永久)
-----------------------------------------------------------------------------------------
# 补充知识
# 第二种方法(注意:如果service iptables status查看没有开启防火墙,就不用进行之后的操作了)
service iptables status #查看防火墙状态
systemctl stop iptables.service #停止防火墙(开机会再启动)
systemctl disable iptables #禁止防火墙开机启动(永久)
chkconfig iptables off #永久关闭防火墙(设置自动启动为关闭)
# CentOS 7.0默认使用的是firewall作为防火墙,iptables防火墙默认没安装(如果service iptables status提示服务没有被发现[如下面的操作显示],就不要再去安装了,如果安装了就用上面的方法关闭,否则会出现50070、3306端口不可访问)
[root@master ~]# service iptables status
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.
# 在CentOS7里有几种防火墙共存:firewalld、iptables、ebtables。默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。
# firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。
5.修改主机名
# 如果在安装centos时设置过master主机名,可以跳过此步骤
## 方法一
vi /etc/hostname
# 更改为以下信息()
master
## 方法二
hostnamectl set-hostname master
三、CentOS7 虚拟机的迁移
在一台电脑上利用虚拟机创建了centos,如果想在家里的电脑虚拟机上也运行centos,不用再重新安装以及漫长的安装等待了,可以利用先前在虚拟机上安装centos生成的.vmx文件和.vmdk文件,拷贝到U盘,再重新导入到新电脑就可以了,省事省力。
1. 什么是vmx和vmdk文件?
vmx文件是虚拟机系统的配置文件
vmdk文件则是虚拟磁盘文件【可以看作是虚拟机的硬盘驱动器】
注意:刚刚安装好VMware Workstation以后是找不到这个文件的,当你在VMware Workstation中建立了一个虚拟机以后,这个文件才会出现。
2. 复制vmx文件和vmdk文件
如上图,去电脑的相应位置去找,然后复制.vmx文件和所有的.vmdk文件
3. 导入到新电脑
在另一台电脑上打开VMware 点击打开虚拟机 选择解压后的.vmx文件 开启此虚拟机 选择“ 我已经复制该虚拟机”




切换到 root用户登录;密码123456

4. 问题解决
在上面的场景中,通过导入之前创建的 .vmx 和 .vmdk 文件来避免重新安装虚拟机。我们成功迁移了CentOS7虚拟机,但是为了保证在新电脑上运行的虚拟机能与原先的虚拟网络环境一致,需要进行网络配置的调整:
迁移后的虚拟机在新的物理主机上运行,默认的虚拟网络配置可能会与原先的配置不一致,尤其是在子网段设置上。如果不进行调整,虚拟机可能无法与网络中的其他设备(包括同一网络中的其他虚拟机)通信
4.1 解决网络配置问题(方法一,推荐)
在 VMware 虚拟网络编辑器中更改虚拟网络的子网段与克隆机的子网段相匹配。
将虚拟网络的子网段更改为
192.168.36.0,目的是为了确保与克隆机的 IP 网段一致。这保证了在同一虚拟网络中的虚拟机能够彼此发现和通信。
步骤:
打开
VMware Workstation,并启动虚拟机。在虚拟机启动后,点击菜单栏中的 "编辑"(Edit)选项。
在 "编辑" 菜单下,选择 "虚拟网络编辑器"(Virtual Network Editor)。
在虚拟网络编辑器中,选择您要更改子网段的虚拟网络适配器(NAT模式)。
单击 "更改设置"(Change Settings)按钮,打开适配器属性。
再次选中NAT模式,在属性窗口中,找到 "子网 IP 地址"(Subnet IP address)。
将子网段更改为
192.168.36.0。【此为克隆机的IP网段,使本地保持一致,以确保它们在同一网络内。】确认更改并关闭属性窗口。
关闭虚拟网络编辑器。
现在,您的虚拟网络的子网段应该已经更改为新的值,尝试ping 外网。
NAT模式
在 VMware 虚拟机中,NAT(Network Address Translation,网络地址转换)模式是一种将虚拟机内部的私有 IP 地址转换为宿主机器外部公网 IP 地址的技术,使虚拟机能够通过宿主机的网络访问互联网。
4.2 解决网络配置问题(方法二,了解)
因为克隆过来的主机的IP与本地的IP不一致,导致不能联网,故需要更改为一致
4.2.1 更改本机IP
1.打开终端:ip addr,查看本机的IP地址
2.在VMware上点击编辑-虚拟网络编辑器,查看子网IP的网段

编辑网络配置文件:
# 输入以下命令
vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 更改如下
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.36.100 # IP地址保证与上图的子网IP相同网段
NETMASK=255.255.255.0
GATEWAY=192.168.36.2 # 网关设置与下图的配置相同
DNS1=114.114.114.114
DNS2=8.8.8.8
NAME=ens33
DEVICE=ens33
ONBOOT=yes
配置如下图:



4.2.2 配置 Hosts主机映射
vi /etc/hosts
# 更改主机映射的IP
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.36.100 master
192.168.36.101 slave1
192.168.36.102 slave2
4.2.3 重启网络
service network restart
4.3 解决FinalShell不能连接虚拟机
重置网络
打开
VMware Workstation,并启动虚拟机。在虚拟机启动后,点击菜单栏中的 "编辑"(Edit)选项。
在 "编辑" 菜单下,选择 "虚拟网络编辑器"(Virtual Network Editor)。
在虚拟网络编辑器中,选择“还原默认设置”
4.4 Centos7开机之后连不上网ens33 IP 信息丢失
Centos7主机开机之后连不上网,发现网卡没有启动起来
ens33 mtu 1500 qdisc noop state DOWN group default qlen 1000
解决方案:先停止网卡,然后再重启服务,发现网卡启动了
# Centos7开机之后连不上网ens33 IP 信息丢失
# 1.停止 NetworkManager 服务运行
[root@master ~]# systemctl stop NetworkManager
# 2.重启网络服务
[root@master ~]# service network restart
# 3.查看ens33的IP是否出现
[root@master ~]# ip a
## 禁用 NetworkManager
[root@master ~]# systemctl disable NetworkManager
## 开机后自动启动传统网络服务
[root@master ~]# systemctl enable network
4.5 解决可能会出现“vmware无法连接虚拟设备ide1:0”错误
方法:虚拟机-设置-CD/DVD(IDE)-更改连接
使用物理驱动器:自动检测(取消启动时连接)
使用ISO映像文件:浏览连接本机的
CentOS-7-x86_64-DVD映像文件
4.6 关闭Namedata安全模式
有的时候hive的hive2的runjar已经启动,但是就是hiveserver2服务不能正常开启。原因可能是Namedata处于安全模式,需要关闭此模式。
# 查看是否开启安全模式
hadoop dfsadmin -safemode get
# 正常关闭
hadoop dfsadmin -safemode leave
# 强制关闭
hadoop dfsadmin -safemode forceExit
4.7 联想笔记本经常连接不到wifi
解决:卸载无线网卡驱动后,再扫描重装驱动,问题一般就可以解决
尝试:检查电源管理设置,确保系统未设置为为了节能关闭无线网卡。在设备管理器中找到无线网卡属性,切换到“电源管理”标签页,取消勾选“允许计算机关闭此设备以节省电源