当前位置: 首页 > news >正文

做网站那个服务器好销售网站怎么做

做网站那个服务器好,销售网站怎么做,企业邮箱注册要钱吗,网站建设在线文章目录 一. 报错现象二. 方案二:重新编译打包flink-connector-cdc1. 排查脚本2. 重新编译打包flink-sql-connector-mysql-cdc-2.4.0.jar3. 测试flink环境 三. 方案一:改造flink连接器 一. 报错现象 flink sql任务是:mysql到hdfs的离线任务&…

文章目录

  • 一. 报错现象
  • 二. 方案二:重新编译打包flink-connector-cdc
    • 1. 排查脚本
    • 2. 重新编译打包flink-sql-connector-mysql-cdc-2.4.0.jar
    • 3. 测试flink环境
  • 三. 方案一:改造flink连接器

一. 报错现象

在这里插入图片描述
flink sql任务是:mysql到hdfs的离线任务,flink在消费mysql时报如上错误。

根据经验:mysql 8.x版本会将Timestamp数据类型转换为localdatetime类型,而flink 连接器中并未做此适配,导致任务消费数据后,类型转换报错。

 
解决方案有两种:

  1. flink 连接器兼容mysql 8.x,
  2. 找到mysql 8.x驱动所在的连接器,去掉mysql 8.x驱动。

这里先尝试使用第二种方案。

 

二. 方案二:重新编译打包flink-connector-cdc

1. 排查脚本

在flink lib目录下查找含有mysql8驱动的jar

#!/usr/bin/env bashls  | while read one_line
doclass_name=$(jar -vtf $one_line |grep 'com/mysql/cj/jdbc/Driver.class')if [[  ${class_name}x != "x"  ]]; thenecho "jar:$one_line  contains the ${class_name}"fi
done
bash check_driver.sh
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.zip.ZipFile.<init>(ZipFile.java:120)
at sun.tools.jar.Main.list(Main.java:1115)
at sun.tools.jar.Main.run(Main.java:293)
at sun.tools.jar.Main.main(Main.java:1288)
jar:flink-sql-connector-mysql-cdc-2.4.0.jar contains the 730 Thu Dec 16 00:25:38 CST 2021 com/mysql/cj/jdbc/Driver.class
java.util.zip.ZipException: zip file is empty
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.zip.ZipFile.<init>(ZipFile.java:120)
at sun.tools.jar.Main.list(Main.java:1115)
at sun.tools.jar.Main.run(Main.java:293)
at sun.tools.jar.Main.main(Main.java:1288)

发现只有flink-sql-connector-mysql-cdc-2.4.0 jar含有mysql8.x版本的驱动。
 

2. 重新编译打包flink-sql-connector-mysql-cdc-2.4.0.jar

修改方式如下
在这里插入图片描述
 

3. 测试flink环境

经过重新编译打包后的flink-sql-connector-mysql-cdc-2.4.0.jar中就不包含mysql8.x版本的驱动了,又因为提交任务时,会加载flink lib下所有的jar,故保证此目录下有mysql5.x的包,但不包含mysql8.x即可。

现测试包含mysql5.x的驱动 mysql cdc的任务是否能够正常启动。

测试,报无法初始化MySqlConnectorConfig
在这里插入图片描述

在这里插入图片描述

 
单独添加mysql-connector-java-8.0.28.jar到flink lib后运行正常,说明此版本驱动是必要的。
在这里插入图片描述

 

三. 方案一:改造flink连接器

再来关注下一开始的报错堆栈信息:
在这里插入图片描述

报错的位置在SqlConverter,没有兼容mysql 8.x的驱动,这里兼容也比较简单:

具体分析原因也可见我之前的文章:

【源码改造】flink JDBC connector 源码改造之 类型转换 java.time.LocalDateTime cannot be cast to java.sql.Timestamp

在连接器中添加对LocalDateTime数据类型的适配,

 case TIMESTAMP_WITH_TIME_ZONE:case TIMESTAMP_WITHOUT_TIME_ZONE:return val -> {if (val instanceof LocalDateTime) {return TimestampData.fromTimestamp(Timestamp.valueOf((LocalDateTime) val));}return TimestampData.fromTimestamp((Timestamp) val);};

这里还需要一点,因为使用的是chunjun的连接器,mysql连接器依赖chunjun-connector-jdbc-base模块,具体的converter也由此模块实现,如果修改此模块,其他依赖此模块的连接器也需要重新打包上传,所以这里需要实现mysql的sqlconverter,以最小化修改的方式修改。

 

具体见我提到chunjun的pr:
[Feature-#1899][connector][mysql] The connector supports MySQL Driver 8.x #1900

http://www.fp688.cn/news/164109.html

相关文章:

  • 织梦 网站根目录优化网站排名工具
  • 请人做外贸网站应注意什么问题网站设计公司苏州
  • 上海 食品网站设计最新app推广项目平台
  • 固原住房和城乡建设厅网站口碑营销的主要手段有哪些
  • 如何用表格做网站免费下载app并安装
  • 东莞网上做公司网站百度seo刷排名网址
  • 返回链接 网站惩罚检查 错误检查线下营销推广方式有哪些
  • 深圳品牌网站建设深圳搜索引擎优化推广
  • 怎么建设一个电影网站培训seo去哪家机构最好
  • wordpress怎么做伪静态sem和seo有什么区别
  • 做淘宝网站需要成人职业技能培训有哪些项目
  • 上海商城网站建设兰州模板网站seo价格
  • wordpress 评论 设置网站seo文章
  • 网站建设phpweb教程网上怎么免费推广
  • 温州建设局官方网站网络推广一个月的收入
  • 郑州公司做网站汉狮公司想做个网站怎么办
  • 登不上学校的网站该怎么做seo怎样才能优化网站
  • 企业网站制作建设外贸推广公司
  • 淮安网站制作设计网站申请流程
  • 关于加强企业门户网站建设通知活动营销推广方案
  • 贵阳做网站的大公司有哪些东莞seo网站制作报价
  • 北京哪家做网站和网络推广好的站内优化怎么做
  • 建设对公银行网站打不开重庆seo排
  • 哪个网站可以做市场调研报告网站模板之家官网
  • 怎么做动漫原创视频网站创建自己的网页
  • 公司网站建设建议书株洲发布最新通告
  • pc网站建设意见长沙网络推广平台
  • 客户评价网站建设seo关键词排名技术
  • 网站建设服务属于信息技术服务吗郑州seo技术服务顾问
  • 建网站地址新闻软文发布平台