Hadoop 常用端口号说明&集群时间同步

140 阅读4分钟

常用端口号说明

端口名称Hadoop2.xHadoop3.x
NameNode 内部通信端口8020 / 90008020 / 9000 /9820
NameNode HTTP UI500709870
MapReduce 查看执行任务端口80888088
历史服务器通信端口1988819888

集群时间同步

如果服务器在公网环境(能连接外网),可以不采用集群时间同步,因为服务器会定期和公网时间进行校准;

如果服务器在内网环境,必须要配置集群时间同步,否则时间久了,会产生时间偏差, 导致集群执行任务时间不同步。

需求

找一个机器,作为时间服务器,所有的机器与这台集群时间进行定时的同步,生产环境根据任务对时间的准确程度要求周期同步。测试环境为了尽快看到效果,采用 1 分钟同步一次。

图片.png

时间服务器配置(必须root用户)

查看所有节点 ntpd 服务状态和开机自启动状态

[root@hadoop102 muyi]# systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@hadoop102 muyi]# systemctl start ntpd
[root@hadoop102 muyi]# systemctl status ntpd
● ntpd.service - Network Time Service
   Loaded: loaded (/usr/lib/systemd/system/ntpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 三 2024-11-13 23:59:32 CST; 18s ago
  Process: 10564 ExecStart=/usr/sbin/ntpd -u ntp:ntp $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 10566 (ntpd)
    Tasks: 1
   CGroup: /system.slice/ntpd.service
           └─10566 /usr/sbin/ntpd -u ntp:ntp -g

11月 13 23:59:32 hadoop102 ntpd[10566]: Listen normally on 2 lo 127.0.0.1 UDP 123
11月 13 23:59:32 hadoop102 ntpd[10566]: Listen normally on 3 ens33 192.168.10.102 UDP 123
11月 13 23:59:32 hadoop102 ntpd[10566]: Listen normally on 4 virbr0 192.168.122.1 UDP 123
11月 13 23:59:32 hadoop102 ntpd[10566]: Listen normally on 5 lo ::1 UDP 123
11月 13 23:59:32 hadoop102 ntpd[10566]: Listen normally on 6 ens33 fe80::89d3:b1ac:5c62:4a63 UDP 123
11月 13 23:59:32 hadoop102 ntpd[10566]: Listening on routing socket on fd #23 for interface updates
11月 13 23:59:35 hadoop102 ntpd[10566]: 0.0.0.0 c016 06 restart
11月 13 23:59:35 hadoop102 ntpd[10566]: 0.0.0.0 c012 02 freq_set kernel 0.000 PPM
11月 13 23:59:35 hadoop102 ntpd[10566]: 0.0.0.0 c011 01 freq_not_set
11月 13 23:59:41 hadoop102 ntpd[10566]: 0.0.0.0 c614 04 freq_mode
[root@hadoop102 muyi]# systemctl is-enabled ntpd
disabled

修改hadoop102 的 ntp.conf 配置文件

[root@hadoop102 muyi]# vim /etc/ntp.conf
授权 192.168.10.0-192.168.10.255 网段上的所有机器可以从这台机器上查询和同步时间
restrict 192.168.10.0 mask 255.255.255.0 nomodify notrap

图片.png

集群在局域网中,不使用其他互联网上的时间

图片.png 使用注释将21~24行注释掉

当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步
server 127.127.1.0
fudge 127.127.1.0 stratum 10

保存后退出~

修改 hadoop102 的/etc/sysconfig/ntpd 文件

[root@hadoop102 muyi]# vim /etc/sysconfig/ntpd

增加内容如下,让硬件时间与系统时间一起同步

SYNC_HWCLOCK=yes

重新启动 ntpd 服务

[root@hadoop102 muyi]# systemctl start ntpd

设置ntpd服务开机启动

[root@hadoop102 muyi]# systemctl enable ntpd
Created symlink from /etc/systemd/system/multi-user.target.wants/ntpd.service to /usr/lib/systemd/system/ntpd.service.

其他机器配置(必须root用户)

关闭所有节点上 ntp 服务和自启动

[root@hadoop103 muyi]# systemctl stop ntpd
[root@hadoop103 muyi]# systemctl disable ntpd
[root@hadoop104 bin]# systemctl stop ntpd
[root@hadoop104 bin]# systemctl disable ntpd

在其他机器配置 1 分钟与时间服务器同步一次

[root@hadoop103 muyi]# crontab -e

编写定时任务如下:

*/1 * * * * /usr/sbin/ntpdate hadoop102

修改任意机器时间

[root@hadoop103 muyi]# date
20241114日 星期四 00:24:51 CST
[root@hadoop103 muyi]# date -s "2030-01-01 00:25:00"
20300101日 星期二 00:25:00 CST
[root@hadoop103 muyi]# date
20300101日 星期二 00:25:01 CST
[root@hadoop103 muyi]# 

我们一分钟后查看时间是否恢复

[root@hadoop103 muyi]# date
20300101日 星期二 00:25:01 CST
[root@hadoop103 muyi]# date
20241114日 星期四 00:27:15 CST
[root@hadoop103 muyi]# 

一分钟后恢复了

但是现在默认配置都是联网的,所以我们的介意是没必要开启集群时间同步,这会消耗我们集群的性能