一、集群时间同步介绍

当然要是图简单直接有xshell工具
Hadoop集群时间同步NTP
       时间同步的方式:找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,比如,每隔十分钟,同步一次时间。
Hadoop集群时间同步NTPNTP服务器【Network Time Protocol(NTP)】是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。

二、操作步骤

  1. 时间服务器配置(必须root用户)
    (1)检查安装:[[email protected] ~]# rpm -qa | grep ntp
    ntp-4.2.6p5-28.el7.centos.x86_64
    ntpdate-4.2.6p5-28.el7.centos.x86_64
    (2)安装:[[email protected] ~]# yum install ntp(有网)
    rpm -ivh ntp-4.2.6p5-18.el7.centos.x86_64.rpm(没网)
    若出现找不到依赖则使用下面的命令
    rpm -ivh ntp-4.2.6p5-18.el7.centos.x86_64.rpm --nodeps --force
    下载地址:http://www.ntp.org/downloads.html

  2. 修改ntp配置文件
    [[email protected] ~]# vi /etc/ntp.conf
    修改内容如下
    (1)修改1(授权192.168.1.0-192.168.1.255网段上的所有机器可以从这台机器上查询和同步时间)
    #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为
    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    注意:这个网段必须是虚拟机的IP网段,你的网段不一定就是192.168.1.0
    (2)修改2(集群在局域网中,不使用其他互联网上的时间)
    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 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
    (3)添加3(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)
    server 127.127.1.0
    fudge 127.127.1.0 stratum 10
    (4)修改/etc/sysconfig/ntpd 文件
    [[email protected] ~]# vi /etc/sysconfig/ntpd
    增加内容如下(让硬件时间与系统时间一起同步)
    SYNC_HWCLOCK=yes
    (5)重新启动ntpd服务
    [[email protected] ~]# service ntpd status 查看状态
    [[email protected] ~]# service ntpd start 启动 ntpd服务
    注意:CentOS7和CentOS6命令不同
    CentOS7用的是:
    [[email protected] ~]# systemctl status ntpd.service 查看状态
    [[email protected] ~]# systemctl start ntpd.service 启动 ntpd服务

    (5)设置ntpd服务开机启动
    [[email protected] ~]# chkconfig ntpd on
    [[email protected] ~]# systemctl enable ntpd.service(CentOS7

  3. 其他机器配置(必须root用户)注意是其他机器也就是从节点
    (1)在其他机器配置10分钟与时间服务器同步一次
    [[email protected] ~]# crontab -e
    [[email protected] ~]# crontab -e
    编写定时任务如下:
    */10 * * * * /usr/sbin/ntpdate hadoop102
    (2)修改任意机器时间
    [[email protected] ~]# date -s “2017-9-11 11:11:11”
    (3)十分钟后查看机器是否与时间服务器同步
    [[email protected] ~]# date
    说明:测试的时候可以将10分钟调整为1分钟,节省时间。

注意:这也是我自己以前出现的错误,自己在主节点安装并配置了ntp,但是还在从节点ntp安装并配置了,每台节点都crontab -e定时配置时间同步。
其实只要在主节点配置安装配置ntp就行,在从节点配置crontab -e定时时间同步

相关文章: