2016-03-24 16:51:41.726 [pipelineId = 1,taskName = ProcessTermin] ERROR com.alibaba.otter.node.etl.select.SelectTask - [1] ProcessTermin is error! org.I0Itec.zkclient.exception.ZkNoNodeException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /otter/canal/destinations/gdcanal/1/mark at org.I0Itec.zkclient.exception.ZkException.create(ZkException.java:47) ~[zkclient-0.1.jar:na] at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:685) ~[zkclient-0.1.jar:na] at org.I0Itec.zkclient.ZkClient.getChildren(ZkClient.java:413) ~[zkclient-0.1.jar:na] at org.I0Itec.zkclient.ZkClient.getChildren(ZkClient.java:409) ~[zkclient-0.1.jar:na] at com.alibaba.otter.canal.meta.ZooKeeperMetaManager.clearAllBatchs(ZooKeeperMetaManager.java:231) ~[canal.meta-1.0.20.jar:na] at com.alibaba.otter.canal.server.embedded.CanalServerWithEmbedded.rollback(CanalServerWithEmbedded.java:388) ~[canal.server-1.0.20.jar:na] at com.alibaba.otter.node.etl.select.selector.canal.CanalEmbedSelector.rollback(CanalEmbedSelector.java:292) ~[node.etl-4.2.12.jar:na] at com.alibaba.otter.node.etl.select.SelectTask$3.run(SelectTask.java:380) ~[node.etl-4.2.12.jar:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) ~[na:1.6.0_38] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) ~[na:1.6.0_38] at java.util.concurrent.FutureTask.run(FutureTask.java:166) ~[na:1.6.0_38] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146) ~[na:1.6.0_38] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.6.0_38] at java.lang.Thread.run(Thread.java:701) ~[na:1.6.0_38] Caused by: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode for /otter/canal/destinations/gdcanal/1/mark at org.apache.zookeeper.KeeperException.create(KeeperException.java:111) ~[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.getChildren(ZooKeeper.java:1468) ~[zookeeper-3.4.5.jar:3.4.5-1392090] at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1496) ~[zookeeper-3.4.5.jar:3.4.5-1392090] at com.alibaba.otter.canal.common.zookeeper.ZooKeeperx.getChildren(ZooKeeperx.java:107) ~[canal.common-1.0.20.jar:na] at org.I0Itec.zkclient.ZkClient$2.call(ZkClient.java:416) ~[zkclient-0.1.jar:na] at org.I0Itec.zkclient.ZkClient$2.call(ZkClient.java:413) ~[zkclient-0.1.jar:na] at org.I0Itec.zkclient.ZkClient.retryUntilConnected(ZkClient.java:675) ~[zkclient-0.1.jar:na] ... 12 common frames omitted
上面是日志;otter小白一枚,这个报错没有思路;求版主给个思路。
原提问者GitHub用户 szlaigithub
根据日志,这个错误是由于 ZooKeeper 找不到节点 /otter/canal/destinations/gdcanal/1/mark
,导致任务处理失败。可能的原因包括:
ZooKeeper 集群不可用,无法正常访问。
/otter/canal/destinations/gdcanal/1/mark
节点不存在,可能是由于 Otter 启动失败或者已经停止导致的。
Otter 和 ZooKeeper 的版本不兼容,需要检查 Otter 和 ZooKeeper 的版本是否匹配。
解决方法:
检查 ZooKeeper 集群是否正常运行,是否存在网络故障等问题。
检查 /otter/canal/destinations/gdcanal/1/mark
节点是否存在,如果不存在,可以尝试重启 Otter。
检查 Otter 和 ZooKeeper 的版本是否匹配,如果不匹配,可以升级或降级 Otter 或 ZooKeeper。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。