记录: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。
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
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
3.3.4重启网络生效
重启网络指令:service network restart
3.3.5查看生成的IP
查看IP指令:ip addr
2.5确认虚拟机网关
在配置静态ip时,设置了网关,这个网关需要和VMware网络网关要一致。
(1)找到虚拟网络编辑器
在虚拟机菜单中找到:编辑->虚拟网络编辑器。
(2)虚拟网络编辑器中查看
在虚拟网络编辑器Tab页中,选中VMnet8,再点击NET设置,进入NAT设置Tab页如下图。
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
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。但是,从查询指令显示看,配置已经生效了。
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执行情况
2.11关闭防火墙
2.11.1操作指令
关闭防火墙:systemctl disable firewalld
设置开机禁用防火墙:systemctl stop firewalld
2.11.2查看指令
查看防火墙状态:systemctl status firewalld
2.11.3执行情况
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设置成功
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
开启状态如下:
关闭状态如下:
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使用虚拟机克隆
菜单导航:虚拟机->管理->克隆。
3.2.2克隆导航
克隆导航页面。
3.2.3选择克隆源
本例选择:虚拟机中的当前状态。
3.2.4选择克隆类型
克隆类型:创建完整克隆。
3.2.5虚拟机命名和存储位置
克隆的虚拟机名称和存储位置。
3.2.6选择克隆类型
克隆完成,克隆虚拟机向导结束。
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台器配置。
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/
(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