一、canal连接zk
1、canal serverq
<bean id="zkClientx" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" >
<property name="targetClass" value="com.alibaba.otter.canal.common.zookeeper.ZkClientx" />
<property name="targetMethod" value="getZkClient" />
<property name="arguments">
<list>
<value>${canal.zkServers:127.0.0.1:2181}</value>
</list>
</property>
</bean>
2、canal client
二、zk配置权限认证后,canal server 启动时报错
2021-06-23 16:40:51.119 [main] INFO com.alibaba.otter.canal.deployer.CanalLauncher - ## set default uncaught exception handler
2021-06-23 16:40:51.151 [main] INFO com.alibaba.otter.canal.deployer.CanalLauncher - ## load canal configurations
2021-06-23 16:40:51.160 [main] INFO com.alibaba.otter.canal.deployer.CanalStarter - ## start the canal server.
2021-06-23 16:40:51.264 [main] ERROR com.alibaba.otter.canal.deployer.CanalLauncher - ## Something goes wrong when starting up the canal Server:
org.I0Itec.zkclient.exception.ZkException: org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /otter
at org.I0Itec.zkclient.exception.ZkException.create(ZkException.java:68) ~[zkclient-0.10.jar:na]
at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:1001) ~[zkclient-0.10.jar:na]
at org.I0Itec.zkclient.ZkClient.create(ZkClient.java:528) ~[zkclient-0.10.jar:na]
at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:294) ~[zkclient-0.10.jar:na]
at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:304) ~[zkclient-0.10.jar:na]
at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:304) ~[zkclient-0.10.jar:na]
at org.I0Itec.zkclient.ZkClient.createPersistent(ZkClient.java:271) ~[zkclient-0.10.jar:na]
at com.alibaba.otter.canal.deployer.CanalController.<init>(CanalController.java:138) ~[canal.deployer-1.1.5.jar:na]
at com.alibaba.otter.canal.deployer.CanalStarter.start(CanalStarter.java:88) ~[canal.deployer-1.1.5.jar:na]
at com.alibaba.otter.canal.deployer.CanalLauncher.main(CanalLauncher.java:117) ~[canal.deployer-1.1.5.jar:na]
Caused by: org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /otter
at org.apache.zookeeper.KeeperException.create(KeeperException.java:113) ~[zookeeper-3.4.5.jar:3.4.5-1392090]
at org.apache.zookeeper.KeeperException.create(KeeperException.java:51) ~[zookeeper-3.4.5.jar:3.4.5-1392090]
at org.apache.zookeeper.ZooKeeper.create(ZooKeeper.java:783) ~[zookeeper-3.4.5.jar:3.4.5-1392090]
at org.I0Itec.zkclient.ZkConnection.create(ZkConnection.java:100) ~[zkclient-0.10.jar:na]
at org.I0Itec.zkclient.ZkClient$3.call(ZkClient.java:531) ~[zkclient-0.10.jar:na]
at org.I0Itec.zkclient.ZkClient$3.call(ZkClient.java:528) ~[zkclient-0.10.jar:na]
at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:991) ~[zkclient-0.10.jar:na]
... 8 common frames omitted
三、查询解决方案