启动Canal服务错误

2024-04-30 19:04
文章标签 服务 启动 错误 canal

本文主要是介绍启动Canal服务错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

说明:记录一次启动canal服务器的错误;

场景

为了方便使用,我有一个习惯,将一些开发应用,如redis、mysql、nacos、xxljob等等,将它们的启动程序配置环境变量,通过在CMD中敲它们的启动程序名,或者再自定义一个bat脚本用来启动,通过敲bat脚本名来启动程序,这样非常方便。

参考以下两篇文章

  • 如何通过bat文件启动应用程序

  • 如何将Redis、Zookeeper、Nacos配置为Windows系统的一个服务

今天如往常一样,我将canal的启动程序写了一个bat脚本,取名canal,到时候就可以在cmd中敲canal启动程序,如下:

在这里插入图片描述

但是,通过CMD敲canal报下面的错误

在这里插入图片描述

错误信息:

16:27:03,125 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[RocketmqClientAppender] - Failed to create parent directories for [C:\Users\10765\..\logs\canal\rocketmq_client.log] 16:27:03,125 |-ERROR in ch.qos.logback.core.rolling.RollingFileAppender[RocketmqClientAppender] - openFile(../logs/canal/rocketmq_client.log,true) call failed. java.io.FileNotFoundException: ..\logs\canal\rocketmq_client.log (系统找不到指定的路径。) at java.io.FileNotFoundException: ..\logs\canal\rocketmq_client.log (系统找不到指定的路径。)

这个我上面创建的canal.bat脚本的内容没有关系,因为我直接在当前位置双击该脚本就能正常启动。

解决

这个问题,实际上是因为canal的源码里关于日志路径用的是相对路径,而通过cmd窗口来启动程序,相当于如下操作:

cmd.exe canal.bat

所以在canal代码中,识别当前程序启动路径,就识别到了cmd应用的路径去了。不过有一点我不明白,在系统中cmd.exe是在C:\Windows\system32,怎么会识别到当前用户的目录(C:\Users\10765

在这里插入图片描述

综上,canal服务不能通过CMD命令的方式来启动。

这篇关于启动Canal服务错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/949671

相关文章

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

Python实现快速扫描目标主机的开放端口和服务

《Python实现快速扫描目标主机的开放端口和服务》这篇文章主要为大家详细介绍了如何使用Python编写一个功能强大的端口扫描器脚本,实现快速扫描目标主机的开放端口和服务,感兴趣的小伙伴可以了解下... 目录功能介绍场景应用1. 网络安全审计2. 系统管理维护3. 网络故障排查4. 合规性检查报错处理1.

解决idea启动项目报错java: OutOfMemoryError: insufficient memory

《解决idea启动项目报错java:OutOfMemoryError:insufficientmemory》:本文主要介绍解决idea启动项目报错java:OutOfMemoryError... 目录原因:解决:总结 原因:在Java中遇到OutOfMemoryError: insufficient me

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

nacos服务无法注册到nacos服务中心问题及解决

《nacos服务无法注册到nacos服务中心问题及解决》本文详细描述了在Linux服务器上使用Tomcat启动Java程序时,服务无法注册到Nacos的排查过程,通过一系列排查步骤,发现问题出在Tom... 目录简介依赖异常情况排查断点调试原因解决NacosRegisterOnWar结果总结简介1、程序在

解决java.util.RandomAccessSubList cannot be cast to java.util.ArrayList错误的问题

《解决java.util.RandomAccessSubListcannotbecasttojava.util.ArrayList错误的问题》当你尝试将RandomAccessSubList... 目录Java.util.RandomAccessSubList cannot be cast to java.

Java编译错误java.lang.NoSuchFieldError的解决方案详析

《Java编译错误java.lang.NoSuchFieldError的解决方案详析》java.lang.NoSuchFieldError是Java中的一种运行时错误,:本文主要介绍Java编译错... 目录前言解决方案1. 统一JDK版本环境2. 优化maven-compiler-plugin配置3. 清

Java JAR 启动内存参数配置指南(从基础设置到性能优化)

《JavaJAR启动内存参数配置指南(从基础设置到性能优化)》在启动Java可执行JAR文件时,合理配置JVM内存参数是保障应用稳定性和性能的关键,本文将系统讲解如何通过命令行参数、环境变量等方式... 目录一、核心内存参数详解1.1 堆内存配置1.2 元空间配置(MetASPace)1.3 线程栈配置1.

Navicat连接Mysql8.0.11出现1251错误的解决方案

《Navicat连接Mysql8.0.11出现1251错误的解决方案》在重装电脑并安装最新版MySQL后,Navicat和Sqlyog连接MySQL时遇到的1251和2058错误,通过将MySQL用户... 目录Navicat连接mysql8.0.11出现1251错误原因分析解决问题方法有两种总结Navic