大佬们flink同步后时区变了是什么原因? 这是同步之后的
解决Flink输出日志中时间比当前时间晚8个小时的问题 在flink standalone集群上,发现log输出时间比当前时间晚8个小时,我的集群系统时间是CTM+8时区的。一开始发现时间不对,还不太上心,后面发现业务在本地跑起来是正常的,提交到集群跑不输出结果,这下就尴尬了。经过一系列的排查。发现ProcessTime时间不对。后面发现flink时间默认为UTC时间(真是个坑啊,心中默念,心平气和)。顺便写个博客记录下。
那么解决这个问题呢,需要修改脚本jobmanager和taskmanager当中的FLINK_ENV_JAVA_OPTS参数。如下:
export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_JM}" #将上面的内容改为 加上 -Duser.timezone=GMT+08 export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_JM} -Duser.timezone=GMT+08" 2. taskmanager.sh脚本的修改
export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_TM}" #将上面的内容改为 加上 -Duser.timezone=GMT+08 export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_TM} -Duser.timezone=GMT+08" 然后重启flink standalone集群就好,在重新提交job就好。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。