- 启动Windows服务,顺序如下:
- SSTPS(secure socket tunneling protocol service)服务
- Telephony服务
- Remote Access Connection Manager服务
- Windows Event Log服务
- 选择服务器的基准时钟,可以选择内部硬件时钟和外部的NTP授时服务器时钟,但是要保证本地的时间准确
-
内部硬件时钟设置
- 打开注册表
- 定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigAnnounceFlags
- 修改AnnounceFlags的DWORD 为A
-
外部NTP授时服务器设置
- 打开注册表
- 定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParametersNtpServer
- 修改NtpServer,添加键值s2k.time.edu.cn,0x01。每个值中间要有空格。0x01标志有以下四个选项
-
0x01 SpecialInterval |
0x02 UseAsFallbackOnly |
0x04 SymmatricActive |
0x08 Client |
-
设置轮询间隔
- 打开注册表
- 定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpClientSpecialPollInterval,修改值为900(十进制),也就是15分钟查询一次
-
配置时间校准设置
- 打开注册表
- 定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigMaxPosPhaseCorrection
- 修改MaxPosPhaseCorrection,选择十进制,修改为3600,也就是一个小时校准一次
- 定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigMaxNegPhaseCorrection
- 修改MaxNegPhaseCorrection,选择十进制,修改为3600,也就是一个小时校准一次
-
配置NTP授时服务器
-
将服务器类型更改为NTP
- 打开注册表
- 定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeParametersType
- 修改Type键值为NTP
-
设置AnnounceFlags 设置为5
- 打开注册表
- 定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeConfigAnnounceFlags
- 修改AnnounceFlags键值为5,十进制
-
启用NTPServer
- 打开注册表
- 定位到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesW32TimeTimeProvidersNtpServer
- 修改Enabled为1,十进制
-
- 在服务中重新启动Windows Time服务
-
配置防火墙允许NTP访问
为端口123添加出入站规则
- 设置Hadoop服务器自动更新时间
Linux中有ntpd和ntpdate两种时间更新方式,ntpd是缓慢的时间校准服务,而ntpdate是时间更正服务。两者的区别在于ntpd发现时间有偏差时慢慢的更新时间,并且更改bios时钟,这样即使不联网也可以维持较为准确的时间,而ntpdate服务发现时间有偏差时不管差别有多大,立即将时间更新,这样会对时序敏感的程序造成逻辑混乱。因此本文采用ntpd服务自动更新时间。
#nano /etc/ntp.conf
+server 172.16.24.4 iburst
-server 0.rhel.pool.ntp.org iburst
-server 1.rhel.pool.ntp.org iburst
-server 2.rhel.pool.ntp.org iburst
-server 3.rhel.pool.ntp.org iburst
#service ntpd restart
#chkconfig ntpd on