时间不一致可能会报 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时间指向了当前时区,并能正常写入、读取数据。