启动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

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

TP-Link PDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务

《TP-LinkPDDNS服将于务6月30日正式停运:用户需转向第三方DDNS服务》近期,路由器制造巨头普联(TP-Link)在用户群体中引发了一系列重要变动,上个月,公司发出了一则通知,明确要求所... 路由器厂商普联(TP-Link)上个月发布公告要求所有用户必须完成实名认证后才能继续使用普联提供的 D

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

树莓派启动python的实现方法

《树莓派启动python的实现方法》本文主要介绍了树莓派启动python的实现方法,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录一、RASPBerry系统设置二、使用sandroidsh连接上开发板Raspberry Pi三、运

SpringBoot中的404错误:原因、影响及解决策略

《SpringBoot中的404错误:原因、影响及解决策略》本文详细介绍了SpringBoot中404错误的出现原因、影响以及处理策略,404错误常见于URL路径错误、控制器配置问题、静态资源配置错误... 目录Spring Boot中的404错误:原因、影响及处理策略404错误的出现原因1. URL路径错

微服务架构之使用RabbitMQ进行异步处理方式

《微服务架构之使用RabbitMQ进行异步处理方式》本文介绍了RabbitMQ的基本概念、异步调用处理逻辑、RabbitMQ的基本使用方法以及在SpringBoot项目中使用RabbitMQ解决高并发... 目录一.什么是RabbitMQ?二.异步调用处理逻辑:三.RabbitMQ的基本使用1.安装2.架构