当我们每个机器的时间都不一致时,假如有一个定时任务,定的10点启动执行。结果namenode十点了启动任务,可是分配到的执行节点DataNode才九点五十导致任务执行失败怎么办?
这就需要将机器之间的时间保持一致

时间同步方式:找一台机器,作为时间服务器,所有的机器与这台机器的时间进行同步,如每隔十分钟同步一次。

操作

切换到root用户检查是否安装了ntp

我们以102作为我们的时间主机,向其他机器发布同步时间

[shaozhiqi@hadoop102 ~]$ su root
Password:
[root@hadoop102 shaozhiqi]# rpm -qa|grep ntp
ntp-4.2.6p5-25.el7.centos.2.x86_64
fontpackages-filesystem-1.44-8.el7.noarch
ntpdate-4.2.6p5-25.el7.centos.2.x86_64
python-ntplib-0.3.2-1.el7.noarch
[root@hadoop102 shaozhiqi]#查

编辑ntp的配置文件

我里面带//的注释在配置时应该删除,这里为了方便说明

[root@hadoop102 shaozhiqi]# vim /etc/ntp.conf
# Hosts on local network are less restricted.
#授权所有机器可以从这台机器上获取时间同步
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap //我们操作放开 # Use public servers from the pool.ntp.org project.
# Please consider joining the pool ([http://www.pool.ntp.org/join.html](http://www.pool.ntp.org/join.html)).
//注掉下面四项,让集群局域网中不适用其他网略时间
#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.0 stratum 10

修改/etc/sysconfig/ntpd,让硬件时间和系统时间一起同步,加上保险些

[root@hadoop102 ~]# vim /etc/sysconfig/ntpd
# Command line options for ntpd
OPTIONS="-g"
SYNC_HWCLOCK=yes

重启102的时间同步

先查看状态是 Active: inactive (dead)

[root@hadoop102 ~]# service ntpd status
Redirecting to /bin/systemctl status ntpd.service
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
[root@hadoop102 ~]#

启动后台查看状态是Active: active (running)

[root@hadoop102 ~]# service ntpd status
Redirecting to /bin/systemctl status ntpd.service
● ntpd.service - Network Time Service
Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2019-06-29 11:33:51 CST; 12s ago
Process: 3174 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 3176 (ntpd)
CGroup: /system.slice/ntpd.service
└─3176 /usr/sbin/ntpd -u ntp:ntp -g
Jun 29 11:33:51 hadoop102 ntpd[3176]: Listen normally on 2 lo 127.0.0.1 UDP 123
Jun 29 11:33:51 hadoop102 ntpd[3176]: Listen normally on 3 eth0 192.168.1.102 UDP 123
Jun 29 11:33:51 hadoop102 ntpd[3176]: Listen normally on 4 virbr0 192.168.122.1 UDP 123
Jun 29 11:33:51 hadoop102 ntpd[3176]: Listen normally on 5 lo ::1 UDP 123
Jun 29 11:33:51 hadoop102 ntpd[3176]: Listen normally on 6 eth0 fe80::250:56ff:fe3a:7b92 UDP 123
Jun 29 11:33:51 hadoop102 ntpd[3176]: Listening on routing socket on fd #23 for interface updates
Jun 29 11:33:51 hadoop102 ntpd[3176]: 0.0.0.0 c016 06 restart
Jun 29 11:33:51 hadoop102 ntpd[3176]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
Jun 29 11:33:51 hadoop102 ntpd[3176]: 0.0.0.0 c011 01 freq_not_set
Jun 29 11:33:52 hadoop102 ntpd[3176]: 0.0.0.0 c514 04 freq_mode
[root@hadoop102 ~]#

设置永久启动

[root@hadoop102 ~]# chkconfig ntpd on
Note: Forwarding request to 'systemctl enable ntpd.service'.
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.
[root@hadoop102 ~]#

102机器配置结束

配置103/104 在root用户

其他机器每隔10分支与时间服务器同步一次
crontab –e 表示要去编写crate脚本,e代表编辑
103机器

[root@hadoop103 ~]# crontab -e
no crontab for root - using an empty one
*/10 * * * * /usr/sbin/ntpdate hadoop102

104 机器

[root@hadoop104 ~]# crontab -e
no crontab for root - using an empty one
*/10 * * * * /usr/sbin/ntpdate hadoop102

配置结束

验证

修改时间语法:date -s "2019-6-28 10:10:10"//表示修改当前机器的时间点为某个时间
验证:修改103的时间,今天是29号我们改为28号,看等会会不会同步

 [root@hadoop103 ~]# date
Sat Jun 29 11:52:44 CST 2019
[root@hadoop103 ~]# date -s "2019-6-28 10:10:10"
Fri Jun 28 10:10:10 CST 2019
[root@hadoop103 ~]# date
Fri Jun 28 10:10:18 CST 2019
[root@hadoop103 ~]#

验证:同样修改104的时间,今天是29号我们改为28号,看等会会不会同步

[root@hadoop104 ~]# date
Sat Jun 29 11:53:50 CST 2019
[root@hadoop104 ~]# date -s "2019-6-28 10:10:10"
Fri Jun 28 10:10:10 CST 2019
[root@hadoop104 ~]# date
Fri Jun 28 10:10:15 CST 2019
[root@hadoop104 ~]#

验证结果:103

[root@hadoop103 ~]# date
Fri Jun 28 10:10:18 CST 2019
[root@hadoop103 ~]# date
Sat Jun 29 11:55:42 CST 2019
[root@hadoop103 ~]#

验证结果:104

[root@hadoop104 ~]# date
Fri Jun 28 10:10:15 CST 2019
[root@hadoop104 ~]# date
Sat Jun 29 11:56:19 CST 2019
[root@hadoop104 ~]#

配置成功 O(∩_∩)O哈哈~

如何使用npt结合crontab实现集群之间的时间同步的更多相关文章

  1. Linux集群部署自定义时间同步服务器(ntpd)

    Linux集群部署自定义时间同步服务器(ntpd) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为一名运维人员,在搭建集群的时候,第一步需要做的就是同步每个机器的时间,尤其是在 ...

  2. 在不同版本号hdfs集群之间转移数据

    在不同版本号hdfs集群之间转移数据     最简单的办法就是把src集群的数据导到本地,然后起还有一个进程将本地数据传到des集群上去. 只是这有几个问题: 效率减少 占用本地磁盘空间 不能应付实时 ...

  3. 面向接口编程实现不改代码实现Redis单机/集群之间的切换

    开发中一般使用Redis单机,线上使用Redis集群,因此需要实现单机和集群之间的灵活切换 pom配置: <!-- Redis客户端 --> <dependency> < ...

  4. DistCp 集群之间数据拷贝工具

    DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具.可以将数据拷贝到另个一集群,也可以将另一个集群的数据拷贝到本集群.

  5. 集群之间配置 SSH无密码登录

    集群之间配置 SSH无密码登录 配置 ssh (1)基本语法 ssh 另一台电脑的 ip 地址 (2)ssh 连接时出现 Host key verification failed 的解决方法 # ss ...

  6. elasticsearch基于RBAC认证和集群之间的TLS通讯

    elasticsearch基于RBAC认证和集群之间的TLS通讯 一.背景 二.需要解决的问题 三.给es增加用户名和密码访问 1.修改config/elasticsearch.yml 2.访问es集 ...

  7. Hadoop集群搭建中时间同步步骤

        一.设置主节点时间服务器的时区     二.在每一个节点上检查是否安装时间服务ntp     三.在主节点上配置时间同步的相关文件     四.在其他从节点上配置与主节点时间同步的脚本 一.设 ...

  8. shell 脚本实战笔记(3)--集群机器的时间同步设置

    背景: 有些分布式服务(比如HBase服务), 依赖于系统时间戳, 如果集群各个节点, 系统时间不一致, 导致服务出现诡异的情况. 解决方案: 那如何同步集群各个节点之间的时间? 采用NTP(Netw ...

  9. Linux集群配置ntp时间同步服务

    集群中时间不同步有可能会让大数据的应用程序运行混乱,造成不可预知的问题,比如Hbase,当时间差别过大时就会挂掉,所以在大数据集群中,ntp服务,应该作为一种基础的服务,以下在演示在CentOS 7. ...

随机推荐

  1. 基于奇林软件kylinTOP工具的HTTP2协议的压力测试

    1.HTTP协议概述 说到http,那就应该先了解一下http协议的发展历史.关于http协议的历史,可以参考阮一峰老师的这篇博客文章HTTP 协议入门,里面介绍的比较详细了.简单来说http先后存在 ...

  2. 深度学习归一化:BN、GN与FRN

    在深度学习中,使用归一化层成为了很多网络的标配.最近,研究了不同的归一化层,如BN,GN和FRN.接下来,介绍一下这三种归一化算法. BN层 BN层是由谷歌提出的,其相关论文为<Batch No ...

  3. C# 微信 生活助手 空气质量 天气预报等 效果展示 数据抓取 (二)

    此文主要是 中国天气网和中国环境监测总站的数据抓取 打算开放全部数据抓取源代码 已在服务器上 稳定运行半个月 webapi http://api.xuzhiheng.cn/ 常量 /// <su ...

  4. centos 7 中没有iptables 和service iptables save 指令使用失败问题解决方案

    1.任意运行一条iptables防火墙规则配置命令: iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存: service iptables save 如果上述命令 ...

  5. jdbc连接数据库三种方式

    ---恢复内容开始--- 第一种: public class Demo1 { //连接数据库的URL private String url = "jdbc:mysql://localhost ...

  6. vscode回车补全代码

    VsCode设置回车补全代码而不换行 有一部分人不习惯用tab键补全代码,我就是其中之一,习惯了回车补全的我决定设置一波,网上找了很多, 没找到比较详细的,所以自己写一个 有一个叫keybinding ...

  7. apache 自带的ab.exe 测试网站的并发量(网站压力测试)

    AB(ApacheBench) 是 Apache 自带的超文本传输协议 (HTTP) 性能测试工具. 其设计意图是描绘当前所安装的 Apache 的执行性能, 主要是显示 Apache 每秒可以处理多 ...

  8. mysql打开general log的办法

    mysql打开general log的办法   mysql打开general log之后,所有的查询语句都可以在general log 文件中以可读的方式得到,但是这样general log文件会非常 ...

  9. CNN更新换代!性能提升算力减半,还即插即用

    传统的卷积运算,要成为过去时了. Facebook和新加坡国立大学联手提出了新一代替代品:OctConv(Octave Convolution),效果惊艳,用起来还非常方便. OctConv就如同卷积 ...

  10. JavaScript 趣味题。

    第一题: const Greeters = [] for (var i = 0 ; i < 10 ; i++) { Greeters.push(function () { return cons ...