- Notifications
You must be signed in to change notification settings - Fork 2.5k
Description
1、首先是otter订阅mariadb报错:
Caused by: com.alibaba.otter.canal.parse.exception.CanalParseException: column size is not match for table:sc_dictionary.dict_lang_bank,11 vs 10
看了下其他issue,查到 “报错的意思,指binlog里DML数据的表的列信息 要比 TableMeta里获取到的列信息要多”
解决办法是 canal 开启 TSDB: alibaba/canal#1510
otter支持canal开启 TSDB:#807
2、于是我编辑了otter 开启 TSDB,结果报错如下,请问还差哪些配置呢?
otter版本 4.2.9-SNAPSHOT,对应 canal版本 1.1.5
pid:91 nid:3 exception:setl:com.google.common.util.concurrent.UncheckedExecutionException: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tableMetaTSDB' defined in class path resource [spring/tsdb/mysql-tsdb.xml]: Cannot resolve reference to bean 'metaHistoryDAO' while setting bean property 'metaHistoryDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metaHistoryDAO' defined in class path resource [spring/tsdb/mysql-tsdb.xml]: Cannot resolve reference to bean 'sqlMapClient' while setting bean property 'sqlMapClient'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.orm.ibatis.SqlMapClientFactoryBean] for bean with name 'sqlMapClient' defined in class path resource [spring/tsdb/mysql-tsdb.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.orm.ibatis.SqlMapClientFactoryBean
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2203)
at com.google.common.cache.LocalCache.get(LocalCache.java:3937)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3941)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4824)
at com.google.common.collect.MigrateMap$MigrateConcurrentMap.get(MigrateMap.java:68)
at com.alibaba.otter.canal.server.embedded.CanalServerWithEmbedded.start(CanalServerWithEmbedded.java:128)
at com.alibaba.otter.node.etl.select.selector.canal.CanalEmbedSelector.start(CanalEmbedSelector.java:212)
at com.alibaba.otter.node.etl.select.SelectTask.startup(SelectTask.java:170)
at com.alibaba.otter.node.etl.select.SelectTask.run(SelectTask.java:126)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tableMetaTSDB' defined in class path resource [spring/tsdb/mysql-tsdb.xml]: Cannot resolve reference to bean 'metaHistoryDAO' while setting bean property 'metaHistoryDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metaHistoryDAO' defined in class path resource [spring/tsdb/mysql-tsdb.xml]: Cannot resolve reference to bean 'sqlMapClient' while setting bean property 'sqlMapClient'; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Cannot find class [org.springframework.orm.ibatis.SqlMapClientFactoryBean] for bean with name 'sqlMapClient' defined in class path resource [spring/tsdb/mysql-tsdb.xml]; nested exception is java.lang.ClassNotFoundException: org.springframework.orm.ibatis.SqlMapClientFactoryBean