canal-server 1.1.4 容器镜像未处理目录导致无法运行instance

在canal-admin 1.1.4里添加了一个canal-server,然后创建了instance,命名为 test2 并启动,报错:

019-11-13 15:50:13.060 [New I/O server worker #2-15] ERROR com.alibaba.otter.canal.common.utils.FileUtils - ../logs/test2/test2.log (No such file or directory) java.io.FileNotFoundException: ../logs/test2/test2.log (No such file or directory) at java.io.RandomAccessFile.open0(Native Method) ~[na:1.8.0_181] at java.io.RandomAccessFile.open(RandomAccessFile.java:316) ~[na:1.8.0_181] at java.io.RandomAccessFile.(RandomAccessFile.java:243) ~[na:1.8.0_181] at java.io.RandomAccessFile.(RandomAccessFile.java:124) ~[na:1.8.0_181] at com.alibaba.otter.canal.common.utils.FileUtils.readFileFromOffset(FileUtils.java:22) [canal.common-1.1.4.jar:na] at com.alibaba.otter.canal.common.utils.FileUtils.readFileFromOffset(FileUtils.java:15) [canal.common-1.1.4.jar:na] at com.alibaba.otter.canal.deployer.admin.CanalAdminController.instanceLog(CanalAdminController.java:218) [canal.deployer-1.1.4.jar:na] at com.alibaba.otter.canal.admin.handler.SessionHandler.messageReceived(SessionHandler.java:116) [canal.server-1.1.4.jar:na] at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.SimpleChannelHandler.messageReceived(SimpleChannelHandler.java:154) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100) [netty-3.2.2.Final.jar:na] at org.jboss.netty.handler.timeout.IdleStateAwareChannelHandler.handleUpstream(IdleStateAwareChannelHandler.java:48) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) [netty-3.2.2.Final.jar:na] at org.jboss.netty.handler.timeout.IdleStateHandler.messageReceived(IdleStateHandler.java:276) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302) [netty-3.2.2.Final.jar:na] at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:526) [netty-3.2.2.Final.jar:na] at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:507) [netty-3.2.2.Final.jar:na] at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281) [netty-3.2.2.Final.jar:na] at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201) [netty-3.2.2.Final.jar:na] at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [netty-3.2.2.Final.jar:na] at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46) [netty-3.2.2.Final.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_181] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_181] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_181]

提示IO错误,log/test2/test2.log不存在,我想说的是,说好了要无状态的呢,怎么还不能自动创建目录和文件呢?难道每新建一个instance就要去创建一个对应的目录嘛,我如果有N个server,岂不是忙不过来?

原提问者GitHub用户lxepoo

展开
收起
Java工程师 2023-05-03 15:47:02 232 分享 版权
1 条回答
写回答
取消 提交回答
  • 这个是日志目录,正常logback会自动创建目录。你是否有自定义过日志输出的目录?

    原回答者GitHub用户agapple

    2023-05-04 16:33:49
    赞同 展开评论

国内唯一 Forrester 公共云容器平台领导者象限。

还有其他疑问?
咨询AI助理