解决Flink输出日志中时间比当前时间晚8个小时的问题
Flink安装在CentOS7上,默认时间是UTC时间,查看Flink日志,发现输出时间比当前时间晚8个小时。
通过如下命令,调整成北京时间
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
但是查看Flink输出的日志时间格式,输出时间仍然比当前时间晚8个小时!
经过研究,以下操作,可以解决日志输出时间比当前时间晚8小时的问题。
一、jobmanager输出日志时间格式修改
修改$FLINK_HOME/bin/jobmanager.sh中JAVA OPTS环境变量:
# Add JobManager-specific JVM options export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_JM}"
改为:
# Add JobManager-specific JVM options export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_JM} -Duser.timezone=GMT+08"
二、taskmanager输出日志时间格式修改
修改$FLINK_HOME/bin/taskmanager.sh中JAVA OPTS环境变量:
# Add TaskManager-specific JVM options
export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_TM}"
改为:
# Add TaskManager-specific JVM options
export FLINK_ENV_JAVA_OPTS="${FLINK_ENV_JAVA_OPTS} ${FLINK_ENV_JAVA_OPTS_TM} -Duser.timezone=GMT+08"
三、修改完上面的Shell脚本后,分别拷贝到其他节点, 重启Flink集群