Flink On Yarn中文乱码解决
业务场景:
Flnk消费Kafka数据后,先入Hbase,经过校验后会发送数据到Kafka另一个topic,供另一个业务线消费入库。
组件版本:
CDH:6.3.0
Flink:1.10
1. 问题描述
经发现结果数据库中中文为乱码,如图:
2. 问题定位
1、首先排查IDEA开发、编译各项编码,都是UTF-8。
2、查看服务器编码,也是UTF-8。
3、后来怀疑是hbase读写的序列化有问题,但是经测试后没有问题,直接在代码里输出中文就是乱码!
3. 解决过程
看过一些博客,是yarn的配置有问题,需要修改yarn的参数,但动作太大,没做尝试。
最简单的方式就只需在启动flink任务时加上参数就可以解决:
-yD env.java.opts="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
--------------------------------END --------------------------------
希望对大家有帮助,有问题多交流