修复hadoop集群时间与系统时间不一致问题

时间不一致可能会报 region is not online错误。
重启了hadoop集群主机之后,hadoop集群log中的时间一直不是系统时间,不知是装系统时的遗留问题(安装系统时区没有更改过)还是怎么。通过浏览http://hadoop:60010/jmx可看到user.timezone(时区)的value值是/America/New_York,并不是我们当前系统的时区。目前我的解决方法是添加hadoop、yarn和hbase的env的配置文件内容,分别如下:

# cat hadoop-env.sh
.........
export HADOOP_OPTS="$HADOOP_OPTS -Duser.timezone=GMT+08"
.........
# cat yarn-env.sh
......... 
YARN_OPTS="$YARN_OPTS -Duser.timezone=GMT+08"
.........
# cat hbase-env.sh
.........
export TZ="Asia/Shanghai"
.........

修改完之后,将配置文件传送至各节点,重启相关服务(zookeeper最好也重启下),可发现hadoop打印log时间指向了当前时区,并能正常写入、读取数据。

注:Asia/Shanghai和GMT+08是同一时区。

你可能感兴趣的:(linux,hadoop)