NTP服务搭建
如果是单独安装这个服务,请直接开始即可。如果是为了解决hadoop集群的时针偏差问题,配置ntp服务时,务必先关闭chd的相关服务。
一、准备环境
1、操作系统
CentOS7操作系统,准备三台,一台作为对外主节点,也就是授时节点(hadoop01),另外两台为内部被授权节点(hadoop02、hadoop03)。
规划图:
2、IP规划
主机名:IP
- hadoop01:192.168.75.71//授时节点
- hadoop02:192.168.75.72//被授时节点
- hadoop03:192.168.75.73//被授时节点
3、配置host和ip映射
配置主机ip映射的地方在/etc/hosts
代码语言:javascript复制vim /etc/hosts
代码语言:javascript复制192.168.75.71 hadoop01
192.168.75.72 hadoop02
192.168.75.73 hadoop03
填入上述信息,即可。
使用ping命令ping主机名,检查是否能够连通,能够连通证明配置正确。
代码语言:javascript复制ping hadoop01
4、防火墙
主节点要么关闭防火墙,要么将ntp的使用端口允许访问。
这里只做简单的关闭。
代码语言:javascript复制[root@hadoop1~]firewall-cmd --state #查看防火墙状态
running
[root@hadoop1~]systemctl stop firewalld #停止防火墙的服务
[root@hadoop1~]systemctl disable firewalld #禁止开机启动
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
二、安装部署
1、下载安装
CentOS7默认是没有安装ntp服务的,需要下载进行安装,如果不确定,可以使用下列命令进行检查:
代码语言:javascript复制rpm –qa | grep ntp
CentOS7中使用yum进行下载安装,命令如下:
代码语言:javascript复制yum –y install ntp
三个节点都需要安装操作。
安装完成之后,再检查,会出现如下两个文件:
2、配置授时节点
以下配置均在hadoop01节点上操作。
1.设置时区
系统的时区一般在安装的时候就已经设置好了,所以,一般都不用更改,在中国使用的是亚洲/上海( 8)时区。
2.更新时间
配置之前要先更新一下hadoop01的时间,保证保证这台服务器的时间是正确的。以下演示两种时间更新方法,一种是联网的情况,一种是没有联网的情况。
1>联网情况
联网的情况下,可以使用ntp的命令,进行时间的更新,命令如下:
代码语言:javascript复制ntpdate cn.pool.ntp.org
2>没有联网情况
没有联网的情况只能使用系统的时间设置命令,对照一个相对准确的时间进行设置,设置命令如下:
代码语言:javascript复制date –s “2019-02-19 16:00:00”
3>写入BIOS
当更新完时间之后,需要将系统当前时间写入BIOS中,很简单,只需要执行一个命令即可,命令如下:
代码语言:javascript复制hwclock -w
3.配置文件
NTP服务的配置文件存放在/etc目录下,具体路径为:/etc/ntp.conf
首先将文件做一个备份,以防文件修改出现问题,命令如下:
代码语言:javascript复制cp /etc/ntp.conf /etc/ntp.back.conf
备份完成之后,修改配置文件操作如下:
代码语言:javascript复制vim /etc/ntp.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (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 0.cn.pool.ntp.org iburst
server 1.cn.pool.ntp.org iburst
server 2.cn.pool.ntp.org iburst
server 3.cn.pool.ntp.org iburst
#没有联网只需添加以下两条即可
server 127.127.1.0
fudge 127.127.1.0 stratum 10
添加好之后保存退出。
4.启动检查
配置好之后,需要启动ntp服务,ntp现在有两套命令都可以使用,
第一套命令如下:
代码语言:javascript复制service ntpd start #启动
service ntpd restart #重启
service ntpd status #查看状态
service ntpd stop #关闭
第二套命令如下:
代码语言:javascript复制systemctl start ntpd
systemctl restart ntpd
systemctl starus ntpd
systemctl stop ntpd
启动完成之后还需要检查一下服务是否可用,需要使用的命令如下:
代码语言:javascript复制ntpq –p
具体内容如下图:
如上图,可以看到offset和jitter都有对应的值,remote中带星号(*)的为ntp挡圈选中的授时服务点,LOCAL表示本机,所以可以看到当前选择的授时服务点即为本机。
如果是没有联网的配置只会显示LOCAL这一项。
3、配置被授时节点
以下操作,在hadoop02和hadoop03两个节点。
1.更新时间
将两个hadoop02和hadoop03两个节点上的时间更新为hadoop01的时间,命令操作如下:
代码语言:javascript复制ntpdate hadoop01
####2.配置文件
被授时节点的配置文件和授时节点的配置文件存放在同一个位置。
打开配置文件:
代码语言:javascript复制vim /etc/ntp.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (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 hadoop01 iburst
添加完成之后保存退出。切记hadoop02和hadoop03都要配置。
3.启动检查
在hadoop02和hadoop03节点上输入以下命令,进行启动:
代码语言:javascript复制service ntpd start
检查使用命令:
代码语言:javascript复制ntpq -p
上图可以看到,刚启动的时候offset和jitter都是0,等待一会,就可以看到两项下面就都有值了,并且remote中也有了星号(*)选择。