Skip to content
NewOrientalEducationTechnologyGroup edited this page Dec 8, 2022 · 9 revisions

快速开始

环境准备

  • linuxmac os
  • docker 20.10.5 以上版本
  • docker-compose v2.1.1 以上版本

docker&docker-compose安装

Docker及Docker Compose 安装

本地部署

下载源码

git clone https://github.com/xdfdotcn/acdc.git

进入部署目录执行脚本

cd acdc/deployment/quick-start
sh start.sh

image.png

等待脚本启动完成,进入ACDC系统

image.png

登录ACDC系统

image.png

创建源数据和目标端数据库

  1. 进入ACDC 元数据管理容器
docker exec -it acdc_meta_db sh
  1. 登录到mysql数据库
mysql -h 0.0.0.0 -uroot -proot
  1. 创建测试的数据库和数据表
  • source库,source表
  • sink库,sink表
CREATE DATABASE source;
USE source;
CREATE TABLE `source_message` (
  `id` int(11) NOT NULL,
  `content` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE DATABASE sink;
USE sink;
CREATE TABLE `sink_message` (
  `id` int(11) NOT NULL,
  `content` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

image.png

创建源端元数据

  • 项目
  • 数据库集群 注意: 集群名只能为英文
  • 数据库实例

image.png

image.png image.png image.png

image.png image.png image.png image.png image.png

创建目标端元数据

  • 项目
  • 数据库集群 注意: 集群名只能为英文
  • 数据库实例

image.png image.png

image.png image.png image.png image.png image.png image.png image.png

创建链路

  • 选择 源端项目 -> 源端集群 -> 源端数据库 -> 源端数据集
  • 选择 目标端项目 -> 目标端集群 -> 目标端数据库 -> 目标端实例 -> 目标端数据集

image.png image.png image.png image.png image.png image.png image.png image.png image.png

启动链路

  • 需要等待一会,可以点击刷新按钮查看当前任务的最新状态
  • 链路状态为运行中代表启动完成

image.png image.png image.png

体验ACDC

  • 变更源端数据集信息,增加一条数据
  • 目标端数据集会实时同步上游数据的变更,增加一条数据
USE source;
INSERT INTO source_message VALUES (1,'hello acdc');
USE sink;
SELECT * FROM sink_message;

image.png

  • 变更源端数据集信息,修改一条数据
  • 目标端数据集会实时同步上游数据的变更,需改一条数据
USE source;
UPDATE source_message SET content='hello a cdc' WHERE id=1;
USE sink;
SELECT * FROM sink_message;

image.png

grafana 监控地址

  • 如果为虚拟机部署,请修改 'docker-compose.yml' grafana 配置的相关地址, 把对应的 '127.0.0.1' 替换成物理机对应的真实ip地址
  api:
    image: xdfdotcn/acdc-devops-backend-api:1.0.0-Alpha-SNAPSHOT
    container_name: acdc_api
    ports:
      - "9602:9602"
    networks:
      - acdcnet
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 4G
    restart: on-failure
    depends_on:
      - meta_db
    environment:
      - "SPRING_DATASOURCE_URL=jdbc:mysql://meta_db:3306/acdc?useUnicode=true&characterEncoding=utf8&useSSL=false&useLegacyDatetimeCode=false&createDatabaseIfNotExist=true"
      - "SPRING_DATASOURCE_USERNAME=root"
      - "SPRING_DATASOURCE_PASSWORD=root"
      - "SPRING_PROFILES_ACTIVE=dev"
      - "SERVER_PORT=9602"
      - "ACDC_APPROVAL_POLICY=SKIP_ALL"
      - "ACDC_UI_CONFIG_GRAFANA_URL_CONNECTIONFOROPERATOR=http://127.0.0.1:3000/d/XtztcTk4z/connection-for-operation?orgId=1&refresh=30s&kiosk=tv"
      - "ACDC_UI_CONFIG_GRAFANA_URL_TIDBSOURCECONNECTOR=http://127.0.0.1:3000/d/_9i0l1z4z/tidb-source-connector?orgId=1&refresh=30s&kiosk=tv"
      - "ACDC_UI_CONFIG_GRAFANA_URL_CONNECTIONFORUSER=http://127.0.0.1:3000/d/LE5t0bR4k/connection-for-user?orgId=1&refresh=30s&kiosk=tv"
      - "ACDC_UI_CONFIG_GRAFANA_URL_MYSQLSOURCECONNECTOR=http://127.0.0.1:3000/d/72ubUJk4z/mysql-source-connector?orgId=1&refresh=30s&kiosk=tv"
      - "ACDC_UI_CONFIG_GRAFANA_URL_CONNECTORS=http://127.0.0.1:3000/d/q2M9dhGVz/connectors?orgId=1&refresh=30s&kiosk=tv"
      - "SPRING_MAIL_HOST=place_holder"
      - "SPRING_MAIL_PORT=6666"
      - "SPRING_MAIL_USERNAME=place_holder"
      - "SPRING_MAIL_PASSWORD=place_holder"
      - "ACDC_HIVE_JDBC_URL=place_holder"
      - "ACDC_HIVE_JDBC_USER=place_holder"
      - "ACDC_HIVE_JDBC_PASSWORD=place_holder"
      - "ACDC_MAIL_FROMEMAILADDRESS=place_holder"
      - "ACDC_MAIL_CCEMAILADDRESS=place_holder"
      - "YOUR_HOST=place_holder"