Canal安装(admin的WebUI管理,自动生成kafka的Topic[dynamicTopic])

1. 准备

  • mysql开启binlog并配置权限
  • canal版本,要求>=1.1.4 (需要依赖canal-server提供面向admin的动态运维管理接口)
  • Zookeeper
  • Kafka

2. 安装

  • 2.1 admin安装
    2.1.1 解压:

    mkdir -p /opt/module/canal-admin 	
    tar -zxvf canal.admin-1.1.4.tar.gz -C /opt/module/canal-admin/
    

    2.1.2 初始化元数据库

    [ttt@ttt canal-admin]$ vim conf/application.yml
    server:
      port: 8089
    spring:
      jackson:
        date-format: yyyy-MM-dd HH:mm:ss
        time-zone: GMT+8
    
    spring.datasource:
      address: ttt:3306 (使用绝对IP)
      database: canal_manager
      username: root
      password: 123456
      driver-class-name: com.mysql.jdbc.Driver
      url: jdbc:mysql://${spring.datasource.address}/${spring.datasource.database}?useUnicode=true&characterEncoding=UTF-8&useSSL=false
      hikari:
        maximum-pool-size: 30
        minimum-idle: 1
    
    canal:
      adminUser: admin
      adminPasswd: 123456  (默认密码123456,登录后密码修改为这个)
    
    
    [ttt@ttt software]$ cd /opt/module/canal-admin/
    [ttt@ttt canal-admin]$ mysql -uroot -p123456
    mysql>  source conf/canal_manager.sql
    
    

    2.1.3.1 启动admin

    [ttt@ttt canal-admin]$ sh bin/startup.sh
    

    2.1.3.2 查看日志

    [ttt@ttt canal-admin]$ tail -f logs/admin.log 
    2019-12-28 14:55:00.725 [main] INFO  o.s.jmx.export.annotation.AnnotationMBeanExporter - Bean with name 'dataSource' has been autodetected for JMX exposure
    2019-12-28 14:55:00.742 [main] INFO  o.s.jmx.export.annotation.AnnotationMBeanExporter - Located MBean 'dataSource': registering with JMX server as MBean [com.zaxxer.hikari:name=dataSource,type=HikariDataSource]
    2019-12-28 14:55:00.750 [main] INFO  org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8089"]
    2019-12-28 14:55:00.813 [main] INFO  org.apache.tomcat.util.net.NioSelectorPool - Using a shared selector for servlet write/read
    2019-12-28 14:55:00.935 [main] INFO  o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8089 (http) with context path ''
    2019-12-28 14:55:00.938 [main] INFO  com.alibaba.otter.canal.admin.CanalAdminApplication - Started CanalAdminApplication in 3.005 seconds (JVM running for 3.423)
    
    

    2.1.3.3 访问ttt 8089端口
    在这里插入图片描述
    2.1.3.4 默认账号密码是admin /123456进行登录

  • 2.2 canal-server安装(HA模式,多个服务器安装)

    2.2.1 准备好:

    • Zookeeper
    • Kafka

    2.2.2 解压jar包

    2.2.3 修改配置(default才能开启HA模式)

    [ttt@ttt canal-server]# vim conf/canal_local.properties
    # register ip
    canal.register.ip =
    #canal admin config
    canal.admin.manager = 127.0.0.1:8089(admin的IP)
    canal.admin.port = 11110
    canal.admin.user = admin
    canal.admin.passwd = 4ACFE3202A5FF5CF467898FC58AAB1D615029441( select password('admin') )
    #admin auto register
    canal.admin.register.auto = true
    canal.admin.register.cluster = 
    

    2.2.4 启动
    指定为local配置文件

    sh bin/startup.sh local
    

    在这里插入图片描述

  • 2.3 使用webUI配置集群

    2.3.1 在web界面新建集群:

    • 配置集群名、Zookeeper

    • 修改主配置: 载入模板后主要修改以下配置:

      # canal admin config
      canal.admin.passwd = 8C41D3D969D2F8936C291DA8956921B40BB7E7FE
      
      canal.zkServers = emr-header-2:2181,emr-header-1:2181,emr-worker-1:2181
      
      #instance模式改为default(此模式可HA)
      #canal.instance.global.spring.xml = classpath:spring/file-instance.xml
      canal.instance.global.spring.xml = classpath:spring/default-instance.xml
      
      #配置kafka集群
      canal.mq.servers = 172.18.217.185:9092,172.18.217.183:9092,172.18.217.184:9092
      

    2.3.2 将Servers添加到集群中

    • 删除原来的servers(因为默认是没有加入集群,而且无法修改)
    • 按照原来的配置新建Server并配置好所属集群
      在这里插入图片描述

    2.3.3 添加Instance

    • 选择好集群

    • 载入模板后主要修改以下配置:

      #mysql配置
      canal.instance.master.address=xxx.xxx.xxx.xxx:xxx
      # username/password
      canal.instance.dbUsername=xxx
      canal.instance.dbPassword=xxx
      
    • 特别说明下 canal.mq.dynamicTopic 表达式:(来自官网)

      canal 1.1.3版本之后, 支持配置格式:schema 或 schema.table,多个配置之间使用逗号或分号分隔
      例子1:test\.test 指定匹配的单表,发送到以test_test为名字的topic上
      例子2:.\… 匹配所有表,则每个表都会发送到各自表名的topic上
      例子3:test 指定匹配对应的库,一个库的所有表都会发送到库名的topic上
      例子4:test\…* 指定匹配的表达式,针对匹配的表会发送到各自表名的topic上
      例子5:test,test1\.test1,指定多个表达式,会将test库的表都发送到test的topic上,test1\.test1的表发送到对应的test1_test1 topic上,其余的表发送到默认的canal.mq.topic值
      为满足更大的灵活性,允许对匹配条件的规则指定发送的topic名字,配置格式:topicName:schema 或 topicName:schema.table
      例子1: test:test\.test 指定匹配的单表,发送到以test为名字的topic上
      例子2: test:.\… 匹配所有表,因为有指定topic,则每个表都会发送到test的topic下
      例子3: test:test 指定匹配对应的库,一个库的所有表都会发送到test的topic下
      例子4:testA:test\…* 指定匹配的表达式,针对匹配的表会发送到testA的topic下
      例子5:test0:test,test1:test1\.test1,指定多个表达式,会将test库的表都发送到test0的topic下,test1\.test1的表发送到对应的test1的topic下,其余的表发送到默认的canal.mq.topic值
      大家可以结合自己的业务需求,设置匹配规则,建议MQ开启自动创建topic的能力

      • 举例:

        # table regex  
        canal.instance.filter.regex=源表A,源表B
        
        # mq config
        #canal.mq.topic=example
        # dynamic topic route by schema or table regex
        canal.mq.dynamicTopic=目标topicA:源表A,目标topicB:源表B
        
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Webadmin!是一个免费的开源框架,用于为Linux系统的快速搭建统一、稳定、易用的Web管理系统。 WebAdmin系统由三部分组成:WEB图形用户接口、WebAdmin守护进程和进程监视程序。Web图形用户接口(WebGUI)是WebAdmin系统的前端部分,为用户提供一个统一、易操作的图形界面。WebAdmin守护进程 (WebAdmind)是WebAdmin系统的后台部分,实时监视WebGUI生成的配置文件,并根据配置文件的变化情况,启动或停止相应的服务进程,WebAdmin进程监视程序(DaemonWatcher)用于实时监视WebAdmind启动的服务进程的运行状况,一旦发现启动的服务进程异常中止,立即重启中止的服务进程,从而确保系统可靠稳定运行。 WebAdmin!提供了一个结构化的WebAdmin开发框架,它的前后台部分均采用插件式的程序开发方法,借助提供的插件开发模板,WebAdmin系统开发者不必关WebAdmin开发框架的具体实现,就可设计出界面统一、操作简单、安全稳定的WebGUI界面。与WebGUI相对应,Webadmind也是采用插件式的程序开发方法。WebAdmind插件与WebGUI插件一一对应完成对界面操作的响应。DaemonWatcher是一个独立的进程监视程序,是为确保WebAdmind启动的进程能够不可间断地提供服务,一旦发现被监视程序发生异常中止,DaemonWatcher将根据进程的启动脚本立即启动被中止进程。 WebAdmin是一个用C语言设计的易用的图形用户接口开发框架,C语言的高可移植性使得WebAdmin可以广泛应用于包括Linux、Unix、Windows及各种嵌入式操作系统中,编译WebAdmin系统除Libxml2库处不需要额外的C函数库支持。WebAdmin提供了丰富的API函数,开发者可以根据自己的需要定制个性化的WebAdmin系统。 WebAdmin系统的界面风格也可以自己定制,对于OEM厂商可以根据需要修改界面风格,满足定制要求。 WebAdmin的开放设计思想,为WebAdmin系统的不断发展普奠定了基础,无数开发者提供了开源插件模块,用户甚至不用写一行代码就可根据自己的需要设计WebAdmin系统。 【简单使用方法】:下载后将压缩文件上传到Linux系统中,用tar xvfz webadmin-devel-1.3.tar.gz解压,解压后进入webadmin-devel目录,执行./configure,make命令后将会在test/webui目录下生成一个webadmin.cgi文件,将此文件拷贝到apache下的WEB根目录下cgi-bin目录下即可,为测试webadmin.cgi,还需将htdocs目录下的文件拷贝到apache的WEB根目录下,将etc目录中的所有文件拷贝到根目录下的etc中,最后用浏览器访问你的apache Web服务器即可看到Linux系统的WEB管理界面。 【说明】:编译此源码需要libxml2库的支持 有技术问题可以访问官方网站:http://www.webadminc.com,联系电话:13311223928
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值