1. cd /etc/init.d/ 进入目录
  2. 创建文件canal,把下面内容粘贴进去,修改java路径和canal安装路径。
#!/bin/bash
#
#chkconfig: 345 63 37
#description: canal
#processname: canal

export JAVA_HOME=/usr/local/java/jdk1.8.0_161/
export PATH=$JAVA_HOME/bin:$PATH

CANAL_HOME=/usr/local/canal/adapter

case $1 in
  start)
    sh $CANAL_HOME/bin/startup.sh
    echo "canal is started"
    ;;
  stop)
    sh $CANAL_HOME/bin/stop.sh
    echo "canal is stop"
    ;;
  restart)
    sh $CANAL_HOME/bin/stop.sh
    sh $CANAL_HOME/bin/startup.sh
    echo "canal is started"
    ;;
  *)
    echo "start|stop|restart"
    ;;
esac
exit 0
  • 给脚本添加权限chmod 755 canal
  • 添加服务到开机项 chkconfig --add canal
  • 设置为开机启动 chkconfig canal on
  • 测试 service canal start

发现一个有意思的事情,canal 如果不正常退出服务,比如虚拟机强制重启等,canal开机就无法正常启动,报错如下
found adapter.pid , Please run stop.sh first ,then startup.sh canal is started;
说的就是找到了adapter.pid 请先运行stop.sh,实际上canal服务已经停止了.
这个时候就简单点;

 

GitHub 加速计划 / ca / canal
28.21 K
7.57 K
下载
alibaba/canal: Canal 是由阿里巴巴开源的分布式数据库同步系统,主要用于实现MySQL数据库的日志解析和实时增量数据订阅与消费,广泛应用于数据库变更消息的捕获、数据迁移、缓存更新等场景。
最近提交(Master分支:2 个月前 )
1e5b8a20 - 1 个月前
ff82fd65 1 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐