{"id":34528771,"url":"https://github.com/wentaojin/dmgr","last_synced_at":"2026-04-22T06:02:46.257Z","repository":{"id":211364776,"uuid":"398519539","full_name":"wentaojin/dmgr","owner":"wentaojin","description":"TiDB DM 数据迁移管理平台 - 后端","archived":false,"fork":false,"pushed_at":"2021-09-10T13:34:14.000Z","size":11850,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-22T03:01:51.104Z","etag":null,"topics":["dm","mysql","tidb"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wentaojin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-08-21T09:38:42.000Z","updated_at":"2021-09-10T13:34:17.000Z","dependencies_parsed_at":"2023-12-08T03:31:16.146Z","dependency_job_id":"8a9d4d63-7aa5-4a73-a646-d5484e0c4aa2","html_url":"https://github.com/wentaojin/dmgr","commit_stats":null,"previous_names":["wentaojin/dmgr"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/wentaojin/dmgr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wentaojin%2Fdmgr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wentaojin%2Fdmgr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wentaojin%2Fdmgr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wentaojin%2Fdmgr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wentaojin","download_url":"https://codeload.github.com/wentaojin/dmgr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wentaojin%2Fdmgr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32123604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dm","mysql","tidb"],"created_at":"2025-12-24T05:25:45.411Z","updated_at":"2026-04-22T06:02:46.251Z","avatar_url":"https://github.com/wentaojin.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"### DMGR 数据迁移管理平台\r\n\r\nMySQL -\u003e TiDB DM 数据迁移任务管理，已集成 [DM](https://docs.pingcap.com/zh/tidb-data-migration/stable/overview) 集群级别管理功能\r\n\r\n1. 集群部署\r\n2. 集群启停\r\n3. 集群状态查看\r\n4. 集群扩缩容\r\n5. 集群滚更\r\n6. 集群补丁\r\n7. 集群升级\r\n8. 集群销毁\r\n\r\n### DMGR 运行示例\r\n\r\n```\r\n# dmgr.toml 配置文件示例参见 conf 目录\r\n$ ./dmgr --config dmgr.toml\r\n\r\n# 程序默认运行 debug 模式，展示 api 接口，若无需展示，请切换至 release 模式运行\r\n$ export GIN_MODE=release\r\n$ ./dmgr --config dmgr.toml\r\n```\r\n\r\n数据同步任务功能待设计阶段...\r\n\r\n### DMGR 集群管理级别功能设计\r\n\r\n#### dmgr 管理表结构设计\r\n- 部署机器列表新增(部署、升级前必备)  -\u003e machine\r\n\r\n  * 机器新增用户链接信息，需要 root 用户或者具备 sudo 权限的用户 \r\n  * 离线包上传(部署、升级前必备) -\u003e warehouse\r\n  * 集群运维管理\r\n  - 保存集群元信息 -\u003e cluster_meta\r\n  - 保存集群拓扑  -\u003e cluster_topology\r\n  - 用户登录       -\u003e user\r\n\r\n#### dmgr 集群管理目录层级设计\r\n\r\n```\r\n集群管理元目录层级 {cluster_path}/cluster/{cluster_name}\r\nv2.0.1               -\u003e 离线安装包解压后的存放目录，版本号区分\r\ncache                -\u003e 模板文件生成文件\r\nssh                  -\u003e 集群 ssh 认证存放路径\r\n```\r\n\r\n#### dmgr 集群部署目录层级设计\r\n\r\n```\r\ndm 集群常见部署目录层级\r\n{deploy_dir}/bin \r\n{deploy_dir}/scripts\r\n{deploy_dir}/conf\r\n{data_dir}/data\r\n{log_dir}/log\r\n```\r\n\r\n#### dm 安装包结构设计\r\n\r\n```\r\ndm-v2.0.1.tar.gz 压缩包内容【格式必须】\r\n  bin                     -\u003e 二进制文件\r\n    * prometheus\r\n    * alertmanager\r\n    * dm-worker\r\n    * dm-master\r\n\r\n  conf\r\n    * dm_worker.rules.yml -\u003e 告警规则模板文件\r\n    * alertmanager.yml    -\u003e 配置文件\r\n    * dm-master.toml      -\u003e 默认配置文件\r\n    * dm-worker.toml      -\u003e 默认配置文件\r\n    \r\n  template               -\u003e 非 template 生成的文件支持手工修改\r\n    * grafana.ini.tmpl    -\u003e grafana 模板文件\r\n      - dashboard.yml.tmpl -\u003e 监控面板模板\r\n      - datasource.yml.tmpl -\u003e 监控数据源模板\r\n    * run_grafana.sh.tmpl -\u003e 运行脚本模板\r\n    \r\n    * systemd.service.tmpl -\u003e 二进制文件运行 systemd 服务模板文件\r\n\r\n    \r\n    * prometheus.yml.tmpl -\u003e 配置模板文件\r\n    * run_prometheus.sh.tmpl -\u003e 运行脚本模板\r\n    \r\n    * run_alertmanager.sh.tmpl -\u003e 运行脚本模板\r\n    \r\n    * run_dm-master.sh.tmpl -\u003e 运行脚本模板   \r\n    * run_dm-worker.sh.tmpl -\u003e 运行脚本模板\r\n    * run_dm-master-scale.sh.tmpl -\u003e 扩容 dm-master 脚本模板  [扩容阶段]  \r\n\r\n\r\n  \r\n  grafana.tar.gz\r\n    * bin\r\n      \u0026 grafana-server     -\u003e 二进制文件\r\n      \u0026 grafana-cli        -\u003e 二进制文件\r\n    \r\n    * dashboards   -\u003e 存放 grafana 监控面板原始 json 文件模板   \r\n      \u0026 dm_instances.json\r\n      \u0026 dm.json\r\n    \r\n    * plugins/            -\u003e 存放插件目录\r\n    \r\n    * provisioning/      -\u003e 包含 grafana 将在启动和运行时应用的配置文件的文件夹\r\n      \u0026 dashboards/      -\u003e 存放 dashboard 层面目录  dashboard.yml.tmpl\r\n      \u0026 datasources/     -\u003e 存放监控数据源 datasource.yml.tmpl\r\n      \u0026 conf/            -\u003e 存放 grafana 默认 defaults.ini\r\n    \r\n    * homepath/           -\u003e 二进制文件运行家目录\r\n        * public/         -\u003e 存放所有\r\n        * scripts/        -\u003e 存放脚本\r\n        * notifiers/      -\u003e 存放其他信息\r\n\r\n  others\r\n    * dmctl             -\u003e 二进制文件\r\n    * task_advanced.yml  -\u003e 任务同步示例文件\r\n    * task_basic.yml     -\u003e 任务同步示例文件\r\n```\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwentaojin%2Fdmgr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwentaojin%2Fdmgr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwentaojin%2Fdmgr/lists"}