美文网首页
Canal v1.1.4 基于 macOS docker本地开发

Canal v1.1.4 基于 macOS docker本地开发

作者: __Jo | 来源:发表于2020-01-17 15:09 被阅读0次

    环境

    macOS Docker canal canal-admin

    搭建样例.gif

    最近在看MySQL Binlog相关内容,阿里开源Canal更新到1.1.4出了一个canal-admin 来管理canal-server、canal-instance。由于涉及到的组建较多,选择通过docker在本地搭建一套。最终出来的效果就是上图。

    涉及Docker镜像

    搭建结构.png

    大致思路:每个实线块都是一个docker容器,所有组建容器都通过--network=container:dev 将网络绑定到dev容器上。通过dev容器暴露指定端口(如:暴露canal-admin默认8089端口)给本地宿主机访问。

    其中canal-admin和canal-server都重新打了新的镜像。

    canal-admin: 本身是依赖MySQL服务,在启动默认容器时,会同时启动一个MySQL实例。同时账号和默认canal-server的账号一致。

    FROM canal/canal-admin:v1.1.4
    
    # Delete self-mysql
    RUN sed -i -e 's/^[ ]*start_mysql$/:/g' /home/admin/app.sh
    
    RUN sed -i -e 's/^stop_mysql$//g' /home/admin/app.sh
    
    # 更改自定canal_manager数据库账号和canal-server默认账号做区分
    RUN sed -i -e 's/username: canal$/username: canal_admin/g' /home/admin/canal-admin/conf/application.yml
    
    RUN sed -i -e 's/password: canal$/password: canal_admin/g' /home/admin/canal-admin/conf/application.yml
    

    关闭默认mysql启动(所以需要将canal-admin依赖的数据库迁移到dev-mysql容器中来),调整默认连接账号配置(与canal-server服务做区分)。

    FROM canal/canal-server:v1.1.4
    
    # 更改默认serverMode=kafka
    RUN sed -i -e "s/canal.serverMode = tcp/canal.serverMode = kafka/" /home/admin/canal-server/conf/canal.properties
    
    # 更改MQserver为 kafka地址
    RUN sed -i -e "s/canal.mq.servers = 127.0.0.1:6667/canal.mq.servers = 127.0.0.1:9092/" /home/admin/canal-server/conf/canal.properties
    

    调整canal-server参数serverMode配置为Kafka。

    相关文章

      网友评论

          本文标题:Canal v1.1.4 基于 macOS docker本地开发

          本文链接:https://www.haomeiwen.com/subject/pnwczctx.html