NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container

IT 文章5年前 (2021)发布 小编
0 0 0

一、存在的问题

Hadoop在完全分布式下多个虚拟主机协同运行时,我们需要保证所有主机的时间一致,如果服务器时间不同步,在完全分布式环境下运行代码时可能会出现如下异常:
NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container
[v_error]错误信息:org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container[/v_error]
再次先补充Linux中查看当前主机时间指令:

date

二、解决步骤:

采用NTP(Network Time Protocol)方式来实现, 选择一台机器, 作为集群的时间同步服务器, 然后分别配置服务端和集群其他机器。我这里以master机器时间为准,其他机器同这台机器时间做同步。

[v_act]1.安装ntp服务[/v_act]
我们需要在每个节点安装ntp服务

ad

程序员导航

优网导航旗下整合全网优质开发资源,一站式IT编程学习与工具大全网站

sudo yum install ntp -y

[v_act]2.配置时间原点[/v_act]
配置master的/etc/ntp.conf,这边采用本地机器作为时间的原点
1)只允许192.168.217.0网段的客户机进行时间同步
原:
NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container
现:
NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container
2)注释掉默认的server0~3,新增中国最活跃的时间服务器 : http://www.pool.ntp.org/zone/cn

server 210.72.145.44 perfer   # 中国国家受时中心
server 202.112.10.36             # 1.cn.pool.ntp.org
server 59.124.196.83             # 0.asia.pool.ntp.org

原:
NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container
现:
NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container
3) 允许上层时间服务器主动修改本机时间
新增如下:

restrict 210.72.145.44 nomodify notrap noquery
restrict 202.112.10.36 nomodify notrap noquery
restrict 59.124.196.83 nomodify notrap noquery

NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container
4)外部时间服务器不可用时,以本地时间作为时间服务
新增如下:

server  127.127.1.0     # local clock
fudge   127.127.1.0 stratum 10

NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container
5)配置文件修改完成,保存退出,启动服务。

ad

AI 工具导航

优网导航旗下AI工具导航,精选全球千款优质 AI 工具集

service ntpd start

[v_act]3.临时同步时间[/v_act]
在其他节点slave1和slave2中同步主节点时间

sudo ntpdate master

[v_act]4.定时同步时间[/v_act]
由于ntpdate只在开机运行,我们需要设置为1小时同步一次。在slave1和slave2中使用crontab来自动更新时间:

crontab -e

添加如下行:

* */1 * * * /usr/sbin/ntpdate master

NTP方式同步服务器时间,解决org.apache.hadoop.yarn.exceptions.YarnException: Unauthorized request to start container
[v_act]5、验证是否一致[/v_act]
使用date命令发现所有节点时间已经一致。

© 版权声明

相关文章

暂无评论

暂无评论...