之前没有关注过虚拟机的时间问题,但是用了hadoop集群后,发现分析的数据与实际数据不符。才发现虚拟机用的是newYork 时区的时间,比正常时间慢了12个小时;所以必须修改虚拟机时间;
然后用了很多修改时间的命令,修改时区等,最后,使用linux 命令 date -R 显示的是 +08000东八区的时间;
但是,hive中和hadoop中的时间 永远都是比实际慢12个小时;
最后用了此方法,重新设置虚拟机时区
> dpkg-reconfigure tzdata>hwclock -w
>hwclock --systohc
选择自己需要的时区,国内的就选 asia shanghai 然后执行后面两句,时区设置完成
手动增加环境变量:
etc/profile 文件 增加 export TZ="GMT+8"
hadoop 集群也得重启。
hive测试时间
select from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss');
查看结果是不是当前时间
通过 ip:50070/jmx 看 user.timezone 看是否是自己选的时区
通过网hdfs上传文件,看看是否显示的是当前时间
若全部正确。更改成功