• CentOS7.9集群部署(配置hosts、集群免密、时间同步)


    在上一篇我们介绍了如何在windows下安装虚拟机,在虚拟机上安装CentOS7.9,并且在系统安装完成后配置了固定ip和系统时间。
    在食用本篇之前,如果上述操作没有做过,可以先移步 windows安装VMware虚拟机(附带CentOS7部署)
    但是在分布式、大数据体系下,为了提高程序的高可用,单机是远远不够的,这里就需要搭建多台机器组成集群,那么本篇就给大家打来CentOS7.9集群部署。

    集群规划

    ip地址节点名称
    192.168.10.128master
    192.168.10.129slave1
    192.168.10.130slave2

    上一篇我们搭建了一台机器,已经配置了固定ip为192.168.10.128,接下来需要搭建剩下两台。
    在操作之前我们先把上一台虚拟机改名为master
    选中 CentOS 7 64 位 讲名字改为master
    在这里插入图片描述
    右键master,选择管理,然后克隆,在克隆之前需要把虚拟机关机
    在这里插入图片描述
    关机虚拟机
    在这里插入图片描述
    右键master,选择管理,然后克隆,进入克隆向导,点击下一步在这里插入图片描述
    继续下一页
    在这里插入图片描述
    选择完整克隆
    在这里插入图片描述
    配置虚拟机名称和存放位置,然后点击完成
    在这里插入图片描述
    点击关闭
    在这里插入图片描述
    slave1创建出来了
    在这里插入图片描述
    但是还需要配置ip,启动虚拟机,然后进入虚拟机,打开终端,通过su root命令切换至root账户下,修改网络配置

    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    
    • 1

    将ip地址改为192.168.10.129
    在这里插入图片描述
    重启网络 service network restart
    使用 ifconfig 查看ip
    在这里插入图片描述
    测试网络是否通互联网 ping www.baidu.com,如下图所示,代表没有问题

    在这里插入图片描述
    用上述同样的方式将slave2创建出来,这时候就有三台机器了
    在这里插入图片描述

    使用外部工具连接虚拟机(FinalShell)

    FinalShell下载地址
    外部工具太多了,还有xshell等等,看个人喜欢,这里我就使用FinalShell了
    在这里插入图片描述
    这里我们可以按照上图操作,将三台机器都创建出来,然后通过master进行连接。

    在这里插入图片描述

    配置hosts

    Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

    用户一定要在root账号下

    vi /etc/hosts
    
    • 1

    添加

    192.168.10.128  master
    192.168.10.129  slave1
    192.168.10.130  slave2
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    保存退出 wq!

    使用 source /etc/hosts 使配置文件即刻生效

     source /etc/hosts
    
    • 1

    通过远程拷贝,将刚才配置好的hosts文件传给slave1和slave2,选择yes输入密码即可

     scp -r /etc/hosts root@slave1:/etc/
     scp -r /etc/hosts root@slave2:/etc/
    
    • 1
    • 2

    在这里插入图片描述

    集群免密

    使用ssh-keygen生成秘钥,一直回车就可以了
    在这里插入图片描述
    将生成的公钥拷贝到自己这台机器上,一直回车,输入密码123456就可以了

    ssh-copy-id master
    
    • 1

    在这里插入图片描述
    其实就是在 /root/.ssh/目录下生成了公钥和私钥,然后公钥给自己生成了authorized_keys,我们只需要将这个目录下文件传到slave1和slave2上就可以相互ssh免密登录了
    在这里插入图片描述

    scp -r /root/.ssh/ root@slave1:/root/.ssh/
    scp -r /root/.ssh/ root@slave2:/root/.ssh/
    
    • 1
    • 2

    在这里插入图片描述
    使用ssh命令可以免密登录了
    在这里插入图片描述

    集群时间同步

    时间同步的方式:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。
    所有节点关闭ntp服务和自启动
    直接复制以下命令执行

    ssh master
    systemctl stop ntpd
    systemctl disable ntpd
    ssh slave1
    systemctl stop ntpd
    systemctl disable ntpd
    ssh slave2
    systemctl stop ntpd
    systemctl disable ntpd
    ssh master
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    修改ntp配置文件(以下只在master上执行)

    vi /etc/ntp.conf
    
    • 1

    通过set nu 查看行号

    修改1(授权192.168.10.0-192.168.10.255网段上的所有机器可以从这台机器上查询和同步时间)
    修改2(集群在局域网中,不使用其他互联网上的时间)
    添加3(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)
    在这里插入图片描述
    修改/etc/sysconfig/ntpd 文件

    vi /etc/sysconfig/ntpd
    
    • 1

    增加内容如下(让硬件时间与系统时间一起同步)

    SYNC_HWCLOCK=yes
    
    • 1

    重新启动ntpd服务

    systemctl start ntpd
    
    • 1

    设置ntpd服务开机启动

    systemctl enable ntpd
    
    • 1

    接下来是在slave1和slave2上都要进行的操作

    ssh slave1
    crontab -e
    
    • 1
    • 2

    编写定时任务

    */10 * * * * /usr/sbin/ntpdate master
    
    • 1

    同样的操作在slave2上也执行一次

  • 相关阅读:
    解决升级NET6 后,IIS调试出错的问题。以及发布后不生成Views文件夹的问题
    C++入门学习3-指针与字符数组,函数,指针数组
    CSS 复合选择器
    聊一聊系统重构
    mysql配置项整理
    安全浏览器是否可以直接“回击”浏览器主页劫持?
    2.1、物理层的基本概念
    1236288-25-7,DSPE-PEG-FA,Folic acid PEG DSPE,磷脂-聚乙二醇-叶酸脂质体形成材料
    算法课程入门
    【计算机毕业设计】72.房屋出租出售系统源码
  • 原文地址:https://blog.csdn.net/weixin_47491957/article/details/128086584