• 使用VMware16克隆功能快速准备CentOS 7.9操作系统集群


    记录: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版)

    地址:https://blog.csdn.net/zhangbeizhen18/article/details/127453397

    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

    新增部分:

    1. IPADDR=192.168.19.151
    2. GATEWAY=192.168.19.2
    3. 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

    修改内容,新增如下:

    1. export JAVA_HOME=/home/apps/module/jdk1.8.0_281
    2. 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

    修改内容:

    1. * soft nofile 102400
    2. * hard nofile 102400

    其中,*代表匹配所有。

    2.12.2查看最大文件句柄数

    查看指令:ulimit -n

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

    2.12.3修改最大进程数

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

    修改内容:

    1. * soft nproc 102400
    2. * 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

    修改内容:

    1. if test -f /sys/kernel/mm/transparent_hugepage/enabled;
    2. then echo never > /sys/kernel/mm/transparent_hugepage/enabled
    3. fi
    4. if test -f /sys/kernel/mm/transparent_hugepage/defrag;
    5. then echo never > /sys/kernel/mm/transparent_hugepage/defrag
    6. 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

    修改内容:

    1. 192.168.19.151  hadoop151
    2. 192.168.19.152  hadoop152
    3. 192.168.19.153  hadoop153
    4. 192.168.19.154  hadoop154
    5. 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内容:

    1. [local_iso]
    2. name=CentOS7Iso
    3. baseurl=file:///mnt/local_iso
    4. enabled=1
    5. 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

    添加内容:

    1. [httpd-local-iso]
    2. name=httpdLocalIso
    3. baseurl=http://192.168.19.151/local_iso
    4. enabled=1
    5. 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

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

    注释掉部分:

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

    新增部分:

    1. server 127.127.1.0
    2. fudge 127.127.1.0 stratum 10

    4.6.4配置从节点

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

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

    注释掉部分:

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

    新增部分:

    1. server 192.168.19.151
    2. 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

    5.小结

    完成以上配置后,集群可以开展实际部署工作,期间若遇到缺少组件,就可以使用yum指令按需安装。

    以上,感谢。

    2022年11月3日

  • 相关阅读:
    Java项目论文+PPT+源码等]S2SH+mysql水费管理系统
    代码随想录算法训练营第48天 | ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III
    SpringBoot启动流程源码分析
    基于android选课系统的设计与实现
    MYSQL 查看SQL执行计划
    Java线程池ThreadPoolExecutor详解(一篇就够了)
    运维实践-最新Nginx二进制构建编译lua-nginx-module动态链接Lua脚本访问Redis数据库读取静态资源隐式展现
    【 WebStorm 】常用快捷键
    (学习笔记)数仓建模
    Django部署vue项目报错:Not Found The requested resource was not found on this server.
  • 原文地址:https://blog.csdn.net/zhangbeizhen18/article/details/127677118