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

  首先检查系统中是否安装ntp包: rpm -q ntp 我这里是只是基础服务器操作系统,所以没有安装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端口已经使用:

  

  执行: 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也可以,只是通信的范围不太一样,总之这个配置就是授权局域网内能从本地同步时间的主机范围

  配置好之后,保存并退出,执行 systemctl restart ntpd.service  重启ntp服务即可

    2、然后是其他服务器的配置,这里相当于客户端的配置:

  同样执行上面的一些命令对ntp进行安装、启动、自启配置、状态查看等操作,配置文件依然是:/etc/ntp.conf,打开进行如下配置:

  同样注释默认的server服务器,添加一行指定时间服务器位置: server 192.168.0.157 因为上面时间服务器地址是192.168.0.157

  

  配置好之后,保存,重启ntp服务即可

  所有客户端都进行以上配置,都启动之后,集群会自动定期进行服务的同步,这样集群的时间就保持一致了

  另外如果想要手动同步某一台机器的时间,那么可以依次执行下面命令实现:

systemctl stop ntpd  # 先停止服务,否则ntp socket会被占用
ntpdate 192.168.0.157 # 手动执行同步
systemctl start ntpd # 继续启动服务

  同步时,会看到如下结果表示同步成功:

  

如果没有网络时,可以点击这里下载ntp离线安装包,执行其中的install.sh脚本即可安装,配置过程和前面完全一样

最新文章

  1. 【原】Masonry+UIScrollView的使用注意事项
  2. div布局
  3. 两篇很牛的vim使用技巧
  4. java下的redis操作
  5. 实现一个跨平台的mysock库(windows、linux)
  6. 如何在Ubuntu下搭建Android NDK开发环境
  7. VC6-Win7下VC++6.0打开多个工程的设置
  8. ZendFramework2 源码分析 index.php
  9. pureMVC简单示例及其原理讲解三(View层)
  10. 利用子集构造法实现NFA到DFA的转换
  11. flutter 新增安卓ios 闪图
  12. Fiddle手机抓包
  13. Bootstrap3.3.7
  14. 01 Zabbix采集数据方式
  15. Win10 安装 digits
  16. AAAI2019 | 基于区域分解集成的目标检测 论文解读
  17. Arcgis10.5 python按属性分割图层,属性相同分为一个图层
  18. 避免Block中的强引用环
  19. SQL Serever学习5——数据库配置
  20. JavaScript迭代

热门文章

  1. vue+echarts实现可拖动节点的折现图(支持拖动方向和上下限的设置)
  2. [HAOI2015]树上操作(树链剖分,线段树)
  3. Uncaught SyntaxError: Unexpected token : 开发遇到的跨域问题
  4. 使同一个server上不同port的django应用可在同一个浏览器上打开
  5. laravel5.5源码笔记(三、门面类facade)
  6. win下python环境搭建以及安装pip、django
  7. 两组数据的均值是否具有显著差异的T检验
  8. LintCode 896. Prime Product 简明题解
  9. Spring Cloud学习入门路线方案
  10. Hadoop安装配置