Hadoop入门(十四)——集群时间同步(图文详解步骤2021)

注意:在后续的开发过程中其实没有必要把集群时间同步,因为我们虚拟机都是联网的服务器会定期和公网时间进行校准,如果开启集群时间同步1min去同步更新一下时间反而会浪费机器的性能。因此,如果如果服务器在公网环境(能连接外网)的大家,可以跳过这一节。(我不会告诉你这一节我忘了截图的,之后再补上,大家跳过也没关系的哈,不过整个步骤还是写的很清楚了)

系列文章传送门

这个系列文章传送门:
Hadoop入门(一)——CentOS7下载+VM上安装(手动分区)图文步骤详解(2021)
Hadoop入门(二)——VMware虚拟网络设置+Windows10的IP地址配置+CentOS静态IP设置(图文详解步骤2021)
Hadoop入门(三)——XSHELL7远程访问工具+XFTP7文件传输(图文步骤详解2021)
Hadoop入门(四)——模板虚拟机环境准备(图文步骤详解2021)
Hadoop入门(五)——Hadoop集群搭建-克隆三台虚拟机(图文步骤详解2021)
Hadoop入门(六)——JDK安装(图文步骤详解2021)
Hadoop入门(七)——Hadoop安装(图文详解步骤2021)
Hadoop入门(八)——本地运行模式+完全分布模式案例详解,实现WordCount和集群分发脚本xsync快速配置环境变量 (图文详解步骤2021)
Hadoop入门(九)——SSH免密登录 配置
Hadoop入门(十)——集群配置(图文详解步骤2021)
Hadoop入门(十一)——集群崩溃的处理方法(图文详解步骤2021)
Hadoop入门(十二)——配置历史服务器及日志的聚集(图文详解步骤2021)
Hadoop入门(十三)——集群常用知识(面试题)与技巧总结
Hadoop入门(十四)——集群时间同步(图文详解步骤2021)
Hadoop入门(十五)——集群常见错误及解决方案

集群时间同步

如果服务器在公网环境(能连接外网),可以不采用集群时间同步,因为服务器会定期和公网时间进行校准;
如果服务器在内网环境,必须要配置集群时间同步,否则时间久了,会产生时间偏差,导致集群执行任务时间不同步。

1 )需求

找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,生产环境根据任务对时间的准确程度要求周期同步。
测试环境为了尽快看到效果, 采用 1 分钟同步一次。
在这里插入图片描述

2 ) 时间服务器配置(必须 root 用户)

(1)查看所有节点 ntpd 服务状态和开机自启动状态

[leokadia@hadoop102 ~]$ sudo systemctl status ntpd
[leokadia@hadoop102 ~]$ sudo systemctl start ntpd
[leokadia@hadoop102 ~]$ sudo systemctl is-enabled ntpd

(2)修改 hadoop102 的 ntp.conf 配置文件

[leokadia@hadoop102 ~]$ sudo vim /etc/ntp.conf
修改内容如下

(a)修改 1(授权 192.168.10.0-192.168.10.255 网段上的所有机器可以从这台机器上查

询和同步时间)
#restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap
为 restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

(b)修改 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

(c) 添加 3 (当该节点丢失网络连接, 依然可以采用本地时间作为时间服务器为集群中

的其他节点提供时间同步)
server 127.127.1.0
fudge 127.127.1.0 stratum 10

(3)修改 hadoop102 的/etc/sysconfig/ntpd 文件

[leokadia@hadoop102 ~]$ sudo vim /etc/sysconfig/ntpd
增加内容如下(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes

(4)重新启动 ntpd 服务

[leokadia@hadoop102 ~]$ sudo systemctl start ntpd

(5)设置 ntpd 服务开机启动

[leokadia@hadoop102 ~]$ sudo systemctl enable ntpd

3 ) 其他机器配置(必须 root 用户)

(1)关闭所有节点上 ntp 服务和自启动

[leokadia@hadoop103 ~]$ sudo systemctl stop ntpd
[leokadia@hadoop103 ~]$ sudo systemctl disable ntpd
[leokadia@hadoop104 ~]$ sudo systemctl stop ntpd
[leokadia@hadoop104 ~]$ sudo systemctl disable ntpd

(2)在其他机器配置 1 分钟与时间服务器同步一次

[leokadia@hadoop103 ~]$ sudo crontab -e
编写定时任务如下:
*/1 * * * * /usr/sbin/ntpdate hadoop102

(3)修改任意机器时间

[leokadia@hadoop103 ~]$ sudo date -s "2021-9-11 11:11:11"

(4)1 分钟后查看机器是否与时间服务器同步

[leokadia@hadoop103 ~]$ sudo date

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐