记录:305

场景:使用VMware16克隆功能快速准备CentOS 7.9操作系统集群,主要内容:VMware16克隆功能功能使用、CentOS 7.9操作系统常用指令使用、制作本地yum源、安装JDK、配置集群NTP时间同步等。

版本:

虚拟机工具:VMware16

操作系统: CentOS 7.9操作系统

1.集群规划

5台安装CentOS 7.9操作系统机器组成集群。

1.1机器规划

每台机器基础配置:内存4GB,硬盘50GB。

centos 克隆git 记住密码_自动化

 1.2快速准备集群思路

(1)使用VMware16创建虚拟机B151。

(2)使用VMware16在虚拟机B151上安装CentOS 7.9操作系统。

(3)在虚拟机B151上完成系统环境变量设置、基础软件安装、目录规划等机器每台机器都需的配置。

(4)使用VMware16的克隆功能,以虚拟机B151为克隆源,克隆出相同配置的机器B152、B153、B154、B155。

(5)集群机器配置SSH免密登录,使用SCP等拷贝指令可以高效的在集群之间同步配置文件。

(6)指定B151机器制作本地yum源,集群共享一个yum源,使用yum指令安装软件极其便利。

(7)指定B151机器作为ntp时间服务器,集群其它节点同步时间服务器时间,达到集群时间一致。

1.3集群配置清单

(1)操作系统iso包

安装镜像包:CentOS-7-x86_64-DVD-2009.iso

yum源镜像包:CentOS-7-x86_64-Everything-2009.iso

(2)配置网络远程连接和静态ip

(3)修改主机名

(3)配置hosts文件

(4)关闭SELinux

(5)关闭防火墙

(6)修改Linux内核参数

(7)安装JDK

(8)配置SSH免密登录

(9)制作本地yum源

(10)配置ntp集群时间同步

2.虚拟机B151

2.1虚拟机B151规划

虚拟机名称:B151。

虚拟机IP:192.168.19.151。

主机名称:hadoop151。

虚拟机B151安装目录:D:\VMs\VMwareB\B151

2.2安装CentOS 7.9操作系统

使用VMware16安装虚拟机B151,再安装CentOS 7.9操作系统。

可以参考如下博文。

名称:VMware16安装CentOS 7.9操作系统(Minimal版)

地址:

2.3配置网络远程连接

默认情况下,在机器安装的操作系统关闭了远程连接。需打开系统远程连接功能,这样可以使用Xshell等工具远程连接虚拟机。远程连接工具对于操作命令行的Linux操作系统提供高效便利的方式。

在CentOS 7.9上,配置网络远程连接,修改ifcfg-ens33文件。

2.3.1查看配置文件

查看指令:cat /etc/sysconfig/network-scripts/ifcfg-ens33

2.3.2修改配置文件

修改指令:vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改内容前:ONBOOT=no

修改内容后:ONBOOT=yes

2.3.3查看修改结果

查看指令:cat /etc/sysconfig/network-scripts/ifcfg-ens33

centos 克隆git 记住密码_运维_02

3.3.4重启网络生效

重启网络指令:service network restart

3.3.5查看生成的IP

查看IP指令:ip addr

2.4配置静态IP

虚拟机B151:192.168.19.151

2.4.1查看配置文件

查看指令:cat /etc/sysconfig/network-scripts/ifcfg-ens33

2.4.2修改配置文件

修改指令:vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改内容:

修改部分:

BOOTPROTO=static

新增部分:

IPADDR=192.168.19.151
GATEWAY=192.168.19.2
DNS1=192.168.19.2

2.4.3查看修改结果

查看指令:cat /etc/sysconfig/network-scripts/ifcfg-ens33

centos 克隆git 记住密码_centos 克隆git 记住密码_03

3.3.4重启网络生效

重启网络指令:service network restart

3.3.5查看生成的IP

查看IP指令:ip addr

2.5确认虚拟机网关

在配置静态ip时,设置了网关,这个网关需要和VMware网络网关要一致。

(1)找到虚拟网络编辑器

在虚拟机菜单中找到:编辑->虚拟网络编辑器。

centos 克隆git 记住密码_centos_04

(2)虚拟网络编辑器中查看

在虚拟网络编辑器Tab页中,选中VMnet8,再点击NET设置,进入NAT设置Tab页如下图。

centos 克隆git 记住密码_centos 克隆git 记住密码_05

2.6规划目录

本例规划两个目录。

目录一:/home/apps/module

目录二:/home/apps/software

module目录存放安装软件,software存放待安装压缩包。

创建目录:mkdir /home/apps/module

创建目录:mkdir /home/apps/software

2.7安装JDK

2.7.1上传JDK包

本例使用Xftp上传JDK安装包到指定目录。

安装包上传到目录:/home/apps/software

版本:jdk-8u281-linux-x64.tar.gz

JDK安装到目录:/home/apps/module

2.7.2安装JDK

安装指令:

tar -zxvf  /home/apps/software/jdk-8u281-linux-x64.tar.gz -C /home/apps/module/

其中,-C 指定安装在某个目录。

JDK安装目录:/home/apps/module/jdk1.8.0_281

2.7.3配置JDK

查看指令:cat /etc/profile

修改指令:vi /etc/profile

修改内容,新增如下:

export JAVA_HOME=/home/apps/module/jdk1.8.0_281
export PATH=$PATH:$JAVA_HOME/bin

2.7.4配置JDK生效

生效指令:source /etc/profile

centos 克隆git 记住密码_VMware_06

2.7.5配置Java安装目录软链接

因为Java安装在自定义目录中,建议配置Java安装目录软链接。

原因是很多软件默认是会去目录:/usr/java/default,读取Java环境信息。

创建目录指令:mkdir -p /usr/java

软连接指令:

ln -s /home/apps/module/jdk1.8.0_281  /usr/java/default

2.8修改主机名

2.8.1修改指令

修改指令:hostnamectl  set-hostname  hadoop151

2.8.2查看指令

查看主机名:hostnamectl

注意:系统重启后,root@localhost才会变成root@hadoop151。但是,从查询指令显示看,配置已经生效了。

centos 克隆git 记住密码_运维_07

2.9修改hosts文件

2.9.1修改hosts文件

修改指令:vi /etc/hosts

修改内容:

192.168.19.151  hadoop151

2.9.2查看hosts文件

查看指令:cat /etc/hosts

2.10关闭SELinux

SELinux:安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。

2.10.1修改SELinux配置文件

关闭指令:vi /etc/selinux/config

修改内容:把SELINUX=enforcing改成SELINUX=disabled

2.10.2查看SELinux配置文件

查看指令:cat /etc/selinux/config

2.10.3执行情况

centos 克隆git 记住密码_自动化_08

2.11关闭防火墙

2.11.1操作指令

关闭防火墙:systemctl disable firewalld

设置开机禁用防火墙:systemctl stop firewalld

2.11.2查看指令

查看防火墙状态:systemctl status firewalld

2.11.3执行情况

centos 克隆git 记住密码_VMware_09

2.12修改最大文件句柄数和最大进程数

2.12.1修改最大文件句柄数

修改指令:vi /etc/security/limits.conf

修改内容:

* soft nofile 102400
* hard nofile 102400

其中,*代表匹配所有。

2.12.2查看最大文件句柄数

查看指令:ulimit -n

查看指令:cat /etc/security/limits.conf

2.12.3修改最大进程数

修改指令:vi /etc/security/limits.conf

修改内容:

* soft nproc 102400
* hard nproc 102400

其中,*代表匹配所有。

2.12.4查看最大进程数

查看指令:cat /etc/security/limits.conf

注意:修改最大文件句柄数,需重启生效。

2.13设置swappiness

设置swappiness,控制运行时内存的相对权重,过多的交换空间会引起GC耗时的激增。

2.13.1查看swappiness

临时设置查看指令:cat /proc/sys/vm/swappiness

永久设置查看指令:cat /etc/sysctl.conf

2.13.2设置swappiness

临时设置指令:

sysctl -w vm.swappiness=10

永久设置指令:

echo vm.swappiness = 10 >> /etc/sysctl.conf

2.13.3设置成功

centos 克隆git 记住密码_运维_10

2.14关闭透明大页面transparent_hugepage

2.14.1临时关闭transparent_hugepage方式

临时关闭,配置信息没有落盘到配置文件,机器重新失效。

临时关闭指令1:

echo never > /sys/kernel/mm/transparent_hugepage/enabled

临时关闭指令2:

echo never > /sys/kernel/mm/transparent_hugepage/defrag

2.14.2永久关闭transparent_hugepage方式

永久关闭,配置信息落盘到配置文件,机器重新有效。

编辑指令:vi /etc/rc.d/rc.local

修改内容:

if test -f /sys/kernel/mm/transparent_hugepage/enabled;
then echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag;
then echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

如果rc.local为不可执行状态,需增加可执行权限。

赋权指令:chmod +x /etc/rc.d/rc.local

2.14.3查看transparent_hugepage

查看指令1:cat /sys/kernel/mm/transparent_hugepage/enabled

查看指令2:cat /sys/kernel/mm/transparent_hugepage/defrag

开启状态如下:

centos 克隆git 记住密码_VMware_11

关闭状态如下: 

centos 克隆git 记住密码_自动化_12

2.14.4查看透明大页面永久关闭配置文件

查看指令:cat /etc/rc.d/rc.local

3.使用VMware16克隆虚拟机

使用VMware16的克隆功能,以虚拟机B151为克隆源,克隆出相同配置的机器B152、B153、B154、B155。

3.1克隆虚拟机存放目录

虚拟机B151目录:D:\VMs\VMwareB\B151

虚拟机B152目录:D:\VMs\VMwareB\B152

虚拟机B153目录:D:\VMs\VMwareB\B153

虚拟机B154目录:D:\VMs\VMwareB\B154

虚拟机B155目录:D:\VMs\VMwareB\B155

3.2使用VMware16克隆虚拟机详细步骤

以虚拟机B151为克隆源,克隆虚拟机B152,详细步骤

3.2.1使用虚拟机克隆

菜单导航:虚拟机->管理->克隆。

centos 克隆git 记住密码_VMware_13

3.2.2克隆导航

克隆导航页面。

centos 克隆git 记住密码_运维_14

3.2.3选择克隆源

本例选择:虚拟机中的当前状态。

centos 克隆git 记住密码_自动化_15

3.2.4选择克隆类型

克隆类型:创建完整克隆。

centos 克隆git 记住密码_自动化_16

3.2.5虚拟机命名和存储位置

克隆的虚拟机名称和存储位置。

centos 克隆git 记住密码_自动化_17

3.2.6选择克隆类型

克隆完成,克隆虚拟机向导结束。

centos 克隆git 记住密码_运维_18

3.3.6.7查看生成的虚拟机

在克隆完成后,可以在虚拟机生成目录中,查看生成的虚拟机。

3.3使用VMware16依次克隆其它机器

使用VMware16依次克隆其它机器。

4.集群配置(5台机器)

使用VMware16的克隆功能,以虚拟机B151为克隆源,克隆出相同配置的机器B152、B153、B154、B155。

4.1克隆后机器需修改的配置

以B152为例。

4.1.1修改静态IP

修改指令:vi /etc/sysconfig/network-scripts/ifcfg-ens33

修改内容:

IPADDR=192.168.19.152

4.1.2修改主机名

修改指令:hostnamectl  set-hostname  hadoop152

4.1.3重启网络生效

重启指令:systemctl restart network.service

4.1.4重启机器

重启指令:reboot

4.2克隆后的4机器对应配置

可以参考4台器配置。

centos 克隆git 记住密码_VMware_19

4.3修改集群的hosts文件

4.3.1修改hosts文件

修改指令:vi /etc/hosts

修改内容:

192.168.19.151  hadoop151
192.168.19.152  hadoop152
192.168.19.153  hadoop153
192.168.19.154  hadoop154
192.168.19.155  hadoop155

4.3.2把hosts文件分发到集群每台机器

使用scp指令将hosts文件拷贝到其它机器。

4.4配置SSH免密登录

以B151免密登录到B152为例。

4.4.1生成公钥和秘钥

(1)公钥和秘钥生成指令

公钥和秘钥生成指令:ssh-keygen -t rsa

连续3次回车。

(2)公钥和秘钥生成目录和文件

公钥和秘钥生成目录:/root/.ssh/

秘钥文件:id_rsa;

公钥文件:id_rsa.pub。

4.4.2配置免密登录其它机器

(1)免密到其它机器指令

需输入一次密码。

免密到B151:ssh-copy-id hadoop151

免密到B152:ssh-copy-id hadoop152

免密到B153:ssh-copy-id hadoop153

免密到B154:ssh-copy-id hadoop154

免密到B155:ssh-copy-id hadoop155

(2)执行指令生成的目录和文件

目录:cd  /root/.ssh/

文件名:authorized_keys

4.4.2免密登录指令

登录指令:ssh root@hadoop152

4.5制作本地镜像(本地yum源)

本例在内网离线操作,内网没有安装httpd服务。

4.5.1两次制作本地镜像源原因

(1)在B151上,直接使用CentOS-7-x86_64-Everything-2009.iso挂载到指定目录

本地镜像源作用范围:只能在B151机器使用,集群其它机器无法使用。

本次制作本地镜像源,目的就是为了安装httpd服务。

(2)在B151上,安装httpd服务,把CentOS-7-x86_64-Everything-2009.iso挂载到httpd服务的目录。

本地镜像源作用范围:在B151机器制作本地镜像,集群其它机器都可以使用。

4.5.2直接使用iso制作本地镜像

(1)上传iso镜像到指定目录

创建目录指令:/home/apps/software/local_iso

(2)创建需要挂载镜像的目录

创建挂载目录指令:mkdir /mnt/local_iso

(3)在/mnt/local_iso/挂载镜像

挂载镜像指令:

mount -o loop /home/apps/software/local_iso/CentOS-7-x86_64-Everything-2009.iso /mnt/local_iso/

(4)创建本地yum源配置文件

新建指令:vi /etc/yum.repos.d/local_iso.repo

新增本地yum内容:

[local_iso]
name=CentOS7Iso
baseurl=file:///mnt/local_iso
enabled=1
gpgcheck=0

(5)刷新yum源

刷新指令:yum clean all && yum makecache

4.5.3使用iso制作本地镜像挂载到httpd服务

(1)安装httpd服务

安装指令:

yum -y install httpd createrepo

(2)启动httpd服务并设置开机自动启动

启动指令:systemctl start httpd

开机自启动指令:systemctl enable httpd

查看httpd启动状态指令:systemctl status httpd.service

(3)安装httpd后生成服务目录

httpd服务目录:cd /var/www/html/

(4)卸载在/mnt/local_iso/挂载镜像

卸载在/mnt/local_iso/挂载镜像

卸载镜像指令:

umount /mnt/local_iso/

(5)创建httpd挂载镜像的目录

创建目录指令:

mkdir -p /var/www/html/local_iso

(6)在httpd目录/var/www/html/local_iso挂载镜像

挂载镜像指令:

mount -o loop /home/apps/software/local_iso/CentOS-7-x86_64-Everything-2009.iso /var/www/html/local_iso

(7)查看httpd发布的服务

在浏览器查看httpd发布的服务,验证服务成功。

查看地址:http://192.168.19.151/local_iso/

centos 克隆git 记住密码_centos 克隆git 记住密码_20

(8)创建基于httpd的yum源配置文件

操作目录:cd /etc/yum.repos.d

新建文件名:vi /etc/yum.repos.d/httpd_local_iso.repo

添加内容:

[httpd-local-iso]
name=httpdLocalIso
baseurl=http://192.168.19.151/local_iso
enabled=1
gpgcheck=0

(9)刷新yum源

刷新指令:yum clean all && yum makecache

(10)分发yum源配置文件到其它机器

分发到B152指令:

scp /etc/yum.repos.d/httpd_local_iso.repo root@hadoop152:/etc/yum.repos.d/httpd_local_iso.repo

其它节点,安装此格式分发。

(11)刷新已分发yum源配置文件机器

刷新指令:yum clean all && yum makecache

4.6配置集群NTP时间同步

B151机器作为时间同步服务器,其它节点从这台机器同步时间。

4.6.1修改时区为本地时区(每个节点)

修改指令:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

4.6.2安装指令

安装指令:yum -y install ntp

4.6.3配置主节点指令

本例主节点是B151。

操作指令:vi /etc/ntp.conf

编辑内容包括注释掉和新增。

注释掉部分:

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

新增部分:

server 127.127.1.0
fudge 127.127.1.0 stratum 10

4.6.4配置从节点

操作指令:vi /etc/ntp.conf

编辑内容包括注释掉和新增。

注释掉部分:

#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

新增部分:

server 192.168.19.151
fudge 192.168.19.151 stratum 10

4.6.5操作ntp服务常用指令

启动指令:service ntpd start

重启指令:service ntpd restart

停止指令:service ntpd stop

开机自启动指令:systemctl enable ntpd.service

查看服务状态指令:systemctl status ntpd.service

查看当前节点同步的时间服务器:ntpq -p

查看节点与时间同步服务器的偏差时间:ntpdc -c loopinfo

查看ntp状态:ntpstat