Linux集群配置离线ntp时间同步服务
集群中时间不同步有可能会让大数据的应用程序运行混乱,造成不可预知的问题,比如Hbase、mongodb副本集等,Hbase当时间差别过大时就会挂掉,mongodb如果副本时间过快,会出现时间栈帧溢出提前出发选举等,所以在大数据集群中,ntp服务,应该作为一种基础的服务,以下在演示在CentOS 7.2集群上配置ntp服务的过程
首先检查系统中是否安装ntp包:rpm -q ntp
然后,执行命令在线安装ntp:yum -y install ntp
安装成功之后,再次执行rpm -q ntp 可以看到对应的包:
这个时候可以使用命令查看ntp是否设置为开启启动状态:systemctl is-enabled ntpd
可以看到默认是disable禁用开机启动的
现在执行:chkconfig ntpd on 或者 systemctl enable ntpd 设置为开机自启动
设置成功后,ntp服务并不能立即启动,而是在下次重启之后启动,所以现在手动启动ntp:
- systemctl start ntpd.service
- 启动之后,执行:netstat -an | grep 123 可以看到ntp服务的123端口已经使用:
===注意防火墙屏蔽ntp端口===
ntp服务器默认端口是123,如果防火墙是开启状态,在一些操作可能会出现错误,所以要记住关闭防火墙。
或者开启123端口
iptables:
- # yum install iptables iptables-services
- # iptables -A INPUT -p udp -m udp --dport 123 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
- # iptables -A OUTPUT -p udp -m udp --dport 123 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
- # systemctl restart iptables.service
firewalld:
- #yum -y install firewalld
# firewall-cmd --zone=public --add-port=123/udp --permanent- # firewall-cmd --reload
执行:ps -ef | grep ntpd 可以看到ntp进程也已经启动
默认情况下ntp是从外网时间服务器来更新时间的,在集群中使用只要保证集群中所有的服务器时间一致即可,所以先配置其中一台服务器为时间服务器,其他服务器相对来说为这台时间服务器的客户端,从时间服务器上获取时间数据,从而避免联网,可用性更高
1、首先是时间服务器配置:
时间服务器的IP:192.168.0.157
执行 vim /etc/ntp.conf 打开ntp配置文件,找到server指定时间服务器的位置,这些条都注释掉;然后添加下面2行固定配置:
- server 127.127.1.0
- fudge 127.127.1.0 stratum 10
然后在restrict指定的两行下面追加一行: restrict 192.168.1.1 mask 255.255.252.0 nomodify notrap
这个配置根据自己的网关和网段配置,只要能保证局域网主机通信就可以,比如这里子网掩码为255.255.252.0那么网段配置192.168.0.0也可以,只是通信的范围不太一样,总之这个配置就是授权局域网内能从本地同步时间的主机范围。
参考:
- 配置下游服务器可以使用该服务的IP网段(192.168.0.0-192.168.0.255)
- restrict 127.0.0.1
- restrict 192.168.0.0 mask 255.255.255.0 nomodify
- 配置上游NTP服务器IP地址
- server cn.pool.ntp.org
- #外部时间服务器不可用时,以本地时间作为时间服务
- server 127.127.1.0 #local clock
- fudge 127.127.1.0 stratum 3
配置好之后,保存并退出,执行 systemctl restart ntpd.service 重启ntp服务即可
2、然后是其他服务器的配置,这里相当于客户端的配置:
同样执行上面的一些命令对ntp进行安装、启动、自启配置、状态查看等操作,配置文件依然是:/etc/ntp.conf,打开进行如下配置:
同样注释默认的server服务器,添加一行指定时间服务器位置:server 192.168.0.157 因为上面时间服务器地址是192.168.0.157
配置好之后,保存,重启ntp服务即可
所有客户端都进行以上配置,都启动之后,集群会自动定期进行服务的同步(启动后3-5分钟才会同步),这样集群的时间就保持一致了
另外如果想要手动同步某一台机器的时间,那么可以依次执行下面命令实现:
- systemctl stop ntpd # 先停止服务,否则ntp socket会被占用
- ntpdate 192.168.0.157 # 手动执行同步
- systemctl start ntpd # 继续启动服务
同步时,会看到如下结果表示同步成功:
如果没有网络时,可以在https://pkgs.org/download/ntp ntp离线安装包,执行其中的install.sh脚本即可安装,配置过程和前面完全一样
ntp同步状态查看
1. ntpstat
ntpstat 命令查看时间同步状态,这个一般需要5-10分钟后才能成功连接和同步。所以,服务器启动后需要稍等下。
刚启动的时候,一般是:
- # ntpstat
- unsynchronised
- time server re-starting
- polling server every 8 s
连接并同步后
- # ntpstat
- synchronised to NTP server (100.115.8.147) at stratum 4
- time correct to within 1230 ms
- polling server every 64 s
2. ntpq -p
- # ntpq -p
- remote refid st t when poll reach delay offset jitter
- ============================================================================
- *10.xx.xx.xx 10.175.113.138 3 u 44 128 377 1.065 -0.469 0.087
- +100.xx.xx.xx 10.175.113.138 3 u 112 128 377 3.218 -0.986 0.372
- remote: *表示目前使用的ntp server;+表示备用服务器
st:即stratum阶层,值越小表示ntp serve的精准度越高;
when:几秒前曾做过时间同步更新的操作;
Poll表示,每隔多少毫秒与ntp server同步一次;
reach:已经向上层NTP服务器要求更新的次数;
delay:网络传输过程钟延迟的时间;
offset:时间补偿的结果;
jitter:Linux系统时间与BIOS硬件时间的差异时间
其他参数配置参考:https://blog.csdn.net/dengyadeng/article/details/81381142
ntp校时服务器:
server cn.pool.ntp.org
server asia.pool.ntp.org
server cn.ntp.org.cn
server ntp.aliyun.com
server time.asia.apple.com
参考连接:https://www.cnblogs.com/jiawen010/p/12778891.html
时间调整:
# date -s 09:00:00
//往后切2s date -s `date -d "2 second" +"%H:%M:%S"`
//往前切1小时 date -s `date -d "-1 hours" +"%H:%M:%S"`
Linux集群配置离线ntp时间同步服务的更多相关文章
- Linux集群配置ntp时间同步服务
集群中时间不同步有可能会让大数据的应用程序运行混乱,造成不可预知的问题,比如Hbase,当时间差别过大时就会挂掉,所以在大数据集群中,ntp服务,应该作为一种基础的服务,以下在演示在CentOS 7. ...
- Linux集群环境下NTP服务器时间同步
NTP介绍 NTP(Network Time Protocol,网络时间协议)是用来使网络中的各个计算机时间同步的一种协议.它的用途是把计算机的时钟同步到世界协调时UTC(Universal Time ...
- linux 集群配置ssh无密码访问
一.修改host文件 1) 用客户端工具(ssh client或者putty)连接到linux服务器.在root用户下输入命令 vi /etc/hosts,用vi编辑hosts文件,如下: #127. ...
- 大数据项目之_15_帮助文档_NTP 配置时间服务器+Linux 集群服务群起脚本+CentOS6.8 升级到 python 到 2.7
一.NTP 配置时间服务器1.1.检查当前系统时区1.2.同步时间1.3.检查软件包1.4.修改 ntp 配置文件1.5.重启 ntp 服务1.6.设置定时同步任务二.Linux 集群服务群起脚本2. ...
- Linux集群部署自定义时间同步服务器(ntpd)
Linux集群部署自定义时间同步服务器(ntpd) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为一名运维人员,在搭建集群的时候,第一步需要做的就是同步每个机器的时间,尤其是在 ...
- Linux集群服务 LVS
linux虚拟服务器(LVS)项目在linux操作系统上提供了最常见的负载均衡软件. 集群定义: 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能.可靠性 ...
- Oracle集群(RAC)时间同步(ntp和CTSS)
Oracle集群(RAC)时间同步(ntp和CTSS) http://blog.itpub.net/26736162/viewspace-2157130/ crsctl stat res -t -in ...
- Linux系统下安装Redis和Redis集群配置
Linux系统下安装Redis和Redis集群配置 一. 下载.安装.配置环境: 1.1.>官网下载地址: https://redis.io/download (本人下载的是3.2.8版本:re ...
- linux环境下Apache+Tomcat集群配置
写在前面 apache配置多个tomcat,实现请求分流,多个tomcat服务均衡负载,增加服务的可靠性.最近研究了一下,遇到许多问题,记录一下,方便以后查阅,不喜欢apache,nginx也是可以做 ...
随机推荐
- 使用Rancher在K8S上部署高性能PHP应用程序
介 绍 PHP是网络上最流行的编程语言之一,许多被广泛使用的内容管理系统都使用它开发,如WordPress和Drupal,并为现代服务器端框架(如Laravel和Symfony)提供核心代码. 尽管P ...
- java学习第六天2020/7/11
一. 今天先是对昨天的知识进行了练习: package 数组; import java.util.Random; import java.util.Arrays; public class 随机数排序 ...
- Scala 基础(十五):Scala 模式匹配(三)
1 变量声明中的模式 match中每一个case都可以单独提取出来,意思是一样的. 应用案例 val (x, y) = (1, 2) val (q, r) = BigInt(10) /% 3 //说明 ...
- 数据可视化之PowerQuery篇(十四)产品关联度分析
https://zhuanlan.zhihu.com/p/64510355 逛超市的时候,面对货架上琳琅满目的商品,你会觉得这些商品的摆放,或者不同品类的货架分布是随机排列的吗,当然不是. 应该都听说 ...
- bzoj3791作业*
bzoj3791作业 题意: 对一个01序列进行染色,每次能将一个区间染上色(可覆盖之前染的),共能染k次,求最大正确染色个数.n≤100000,m≤50. 题解: 结论:染k次最多能把序列分成2*k ...
- Python Ethical Hacking - VULNERABILITY SCANNER(2)
VULNERABILITY_SCANNER How to discover a vulnerability in a web application? 1. Go into every possibl ...
- T133316 57级返校测试重测-T4-字符串的修改
大致题意: 有一个A字符串和一个B字符串, 操作将A或A的一个后缀修改为B, 求最少的操作数. 有三个操作为: 删除: 删除掉 A 中的某一个字符. 添加: 将某一个字符添加到 A 中任意位置. 替换 ...
- 不藏了,摊牌了,一张知识图谱整理完整Java并发体系,就问全不全
推荐阅读: 2020年马士兵Java多线程高并发讲解——百万年薪架构师告诉你Java多线程与高并发 目录 这是我关于整个Java并发体系的整理,结合的主要是现在市面上对于Java并发在面试的过程中经常 ...
- 高效C++:设计与声明
C++软件开发可以理解为设计一系列的类,让这些类相互使用,最终实现我们所需要的功能.类与类之间的相互关系可以很复杂,也可以很简单,如何简单高效的描述类与类之间的关系是设计的难点之一.遵循本文所提供的方 ...
- DeviceEventEmmiter使用
发送广播一个事件 DeviceEventEmitter.emit('updatePlantList', '创建工厂成功');//通知刷新工厂列表 接收处,添加监听(监听要再事件发生之前添加,否则无法回 ...