alibaba / canal

阿里巴巴 MySQL binlog 增量订阅&消费组件
Apache License 2.0
28.46k stars 7.61k forks source link

1.1.8-SNAPSHOT要跑起来不容易,须解决以下3个问题 #5226

Open xiaobai1017 opened 2 months ago

xiaobai1017 commented 2 months ago

1.cpu 100% 修改canal.properties,关闭并行解析的能力 canal.instance.parser.parallel = false

2.canal.deployer-1.1.8-SNAPSHOT启动 需要拷贝 druid-1.2.21.jar(canal.adapter-1.1.8-SNAPSHOT里有) 到lib下!!!

3.adapter启动报:java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer; 升级jre到11!!!

dyrnq commented 6 days ago

@xiaobai1017 确实啊,为啥canal.deployer-1.1.8-SNAPSHOT没有这个druid-1.2.21.jar包

dyrnq commented 6 days ago
09:40:55.945 [ZkClient-EventThread-29-zoo1:2181,zoo2:2181,zoo3:2181] INFO  c.a.o.c.p.i.m.t.DefaultTableMetaTSDBFactory - test init TableMetaTSDB with classpath:spring/tsdb/h2-tsdb.xml
dyrnq commented 6 days ago

不过好奇怪,虽然没有这个jar包,但是h2.mv.db这个文件确实生成了啊,也没有报错,底下这个h2的数据库是依赖com.alibaba.druid.pool.DruidDataSource的

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
        <property name="driverClassName" value="org.h2.Driver" />
        <property name="url" value="${canal.instance.tsdb.url:}" />
        <property name="username" value="${canal.instance.tsdb.dbUsername:}" />
        <property name="password" value="${canal.instance.tsdb.dbPassword:}" />
        <property name="maxActive" value="30" />
        <property name="initialSize" value="0" />
        <property name="minIdle" value="1" />
        <property name="maxWait" value="10000" />
        <property name="timeBetweenEvictionRunsMillis" value="60000" />
        <property name="minEvictableIdleTimeMillis" value="300000" />
        <property name="testWhileIdle" value="true" />
        <property name="testOnBorrow" value="false" />
        <property name="testOnReturn" value="false" />
        <property name="useUnfairLock" value="true" />
        <property name="validationQuery" value="SELECT 1" />
    </bean>
dyrnq commented 5 days ago

@xiaobai1017 这个问题应该是已经解决了,见https://github.com/alibaba/canal/commit/d66a15fe3597b7960d974ff02c07c0af9c4a765d

dyrnq commented 5 days ago

1.cpu 100% 修改canal.properties,关闭并行解析的能力 canal.instance.parser.parallel = false

2.canal.deployer-1.1.8-SNAPSHOT启动 需要拷贝 druid-1.2.21.jar(canal.adapter-1.1.8-SNAPSHOT里有) 到lib下!!!

3.adapter启动报:java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer; 升级jre到11!!!

canal-1.1.8-alpha-3中下载的canal.deployer-1.1.8-SNAPSHOT.tar.gz已经包含druid-1.2.21.jar canal-1.1.8-alpha-2中下载的canal.deployer-1.1.8-SNAPSHOT.tar.gz没有包含druid-1.2.21.jar

@xiaobai1017 确实缺少这个包会报错 Caused by: java.lang.ClassNotFoundException: com.alibaba.druid.pool.DruidDataSource https://github.com/dyrnq/docker-canal/issues/19