使用环境:当一个计算机群体需要需要进行时间的严格同步,即可使用NTP服务器。
NTP通信协议原理:
1.首先主机server启动NTP。
2. client客户端会向NTP服务器发送请求调整时间的message。
3.然后NTP server会送出当前的标准时间给client
4.client接受来自server的时间后,会根据这个信息来调整自己的时间。这样就实现了网络时间同步。
。NTP这个deamon采用了123端口。(UDP)
二、ntp服务端安装:
1.检查是否已安装(如下表示已安装):
[root@mysql ~]# rpm -qa ntp
ntp-4.2.2p1-9.el5.centos.2.1
2.若未安装,可使用以下命令安装
[root@mysql ~]# yum -y install ntp
也可以通过光盘或rpm包直接安装
rpm -ivh ntp-4.2.2p1-9.el5.centos.2.1.rpm
操作部分:
=============================================
三、NTP 服务端的配置(hadoopVM1)
vi /etc/ntp.conf
#add by Yongke.pan
restrict default ignore
#允许内网通讯,修改192.168.10.1 为自己的内网网络
restrict 192.168.10.1 mask 255.255.255.0 nomodify notrap
#add by yongke,justadd “#”
#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
切记每次修改了配置文档后都需要重新启动服务来使配置生效。
启动/关闭/重启NTP的命令是:
# service ntpd start
# service ntpd stop
# service ntpd restart
为了使NTP服务能够在系统引导的时候自动启动,执行:
# chkconfig ntpd on
四、ntp客户端的安装及时间同步(hadoop002)
1.安装ntp:
方法参考前面,只需要安装就可以了,不用修改任何配置。
2.手动实现同步
查看时间命令:date
同步时间命令:ntpdate hadoop001
然后可以通过date查看客户端与服务器时间是否是一致的。
3.系统定时同步时间
# crontab -e
加入一行:
10 */1 * * * /usr/sbin/ntpdate hadoop001
表示每小时的第10分钟,linux系统都会自动向我们的新建NTP时间服务器hadoop001 进行时间的同步操作。
或者
*/1 * * * * /usr/sbin/ntpdate hadoop001
表示每一分钟,linux系统都会自动向我们的新建NTP时间服务器hadoop001 进行时间的同步操作。
或者
*/1 * * * * rm -rf /home/
表示每一分钟,linux系统都会自动向我们的新建NTP时间服务器hadoop001 进行删除lyd.log。
保存以上操作之后,可以查看客户端与服务器是否同步。
4、注意
服务器:开启ntp服务即可。命令:service ntpd start
客户端,必须关闭服务器:service ntpd stop
否则会出现error
ntpdate hadoopTest1
7 May 19:45:40 ntpdate[2175]: the NTP socket is in use, exiting
==============================【操作example】================================
服务器:
#vi /etc/ntp.conf
restrict default ignore
restrict 192.168.10.1 mask 255.255.255.0 nomodify notrap
#add by yongke.pan and just add "#"
#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
服务器要开启服务(如果ntp是开启状态,就重启)。
service ntpd start
chkconfig ntpd on
service ntpd restart
客户端
#crontab -e
*/1 * * * * /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
操作完成!!!!!!!!!!!!!!!!!!!!!
*/1 * * * * /usr/sbin/ntpdate hadoopVM1 >> /root/time.log
*/2 * * * * rm -rf /root/time.log
~
另外需要注意:防火墙是否关闭,学操作是出现各种问题!
****************************************************
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab文件的一些例子:
30 21 * * * /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
表示每晚的21:30同步hadoopTest1节点时间并且将日志追加到/ntp.log文件
45 4 1,10,22 * * /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
表示每月1、10、22日的4 : 45同步hadoopTest1节点时间并且将日志追加到/ntp.log文件
10 1 * * 6,0 /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
表示每周六、周日的1 : 10同步hadoopTest1节点时间并且将日志追加到/ntp.log文件
0,30 18-23 * * * /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
表示在每天18 : 00至23 : 00之间每隔30分钟同步hadoopTest1节点时间并且将日志追加到/ntp.log文件
0 23 * * 6 /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
表示每星期六的11 : 00 pm同步hadoopTest1节点时间并且将日志追加到/ntp.log文件
* */1 * * * /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
每一小时同步hadoopTest1节点时间并且将日志追加到/ntp.log文件
* 23-7/1 * * * /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
晚上11点到早上7点之间,每隔一小时同步hadoopTest1节点时间并且将日志追加到/ntp.log文件
0 11 4 * mon-wed /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
每月的4号与每周一到周三的11点同步hadoopTest1节点时间并且将日志追加到/ntp.log文件
0 4 1 jan * /usr/sbin/ntpdate hadoopTest1 >> /ntp.log
一月一号的4点同步hadoopTest1节点时间并且将日志追加到/ntp.log文件