Docker部署DataX
简介
- DataX 是阿里云DataWorks数据集成的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、Hologres、DRDS, databend 等各种异构数据源之间高效的数据同步功能
- 源码地址:https://github.com/alibaba/DataX
支持的数据源
DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入,目前支持数据如下图,详情请点击:DataX数据源参考指南
类型 |
数据源 |
Reader(读) |
Writer(写) |
文档 |
RDBMS 关系型数据库 |
MySQL |
√ |
√ |
读 、写 |
|
Oracle |
√ |
√ |
读 、写 |
|
OceanBase |
√ |
√ |
读 、写 |
|
SQLServer |
√ |
√ |
读 、写 |
|
PostgreSQL |
√ |
√ |
读 、写 |
|
DRDS |
√ |
√ |
读 、写 |
|
Kingbase |
√ |
√ |
读 、写 |
|
通用RDBMS(支持所有关系型数据库) |
√ |
√ |
读 、写 |
阿里云数仓数据存储 |
ODPS |
√ |
√ |
读 、写 |
|
ADB |
|
√ |
写 |
|
ADS |
|
√ |
写 |
|
OSS |
√ |
√ |
读 、写 |
|
OCS |
|
√ |
写 |
|
Hologres |
|
√ |
写 |
|
AnalyticDB For PostgreSQL |
|
√ |
写 |
阿里云中间件 |
datahub |
√ |
√ |
读 、写 |
|
SLS |
√ |
√ |
读 、写 |
图数据库 |
阿里云 GDB |
√ |
√ |
读 、写 |
|
Neo4j |
|
√ |
写 |
NoSQL数据存储 |
OTS |
√ |
√ |
读 、写 |
|
Hbase0.94 |
√ |
√ |
读 、写 |
|
Hbase1.1 |
√ |
√ |
读 、写 |
|
Phoenix4.x |
√ |
√ |
读 、写 |
|
Phoenix5.x |
√ |
√ |
读 、写 |
|
MongoDB |
√ |
√ |
读 、写 |
|
Cassandra |
√ |
√ |
读 、写 |
数仓数据存储 |
StarRocks |
√ |
√ |
读 、写 |
|
ApacheDoris |
|
√ |
写 |
|
ClickHouse |
√ |
√ |
读 、写 |
|
Databend |
|
√ |
写 |
|
Hive |
√ |
√ |
读 、写 |
|
kudu |
|
√ |
写 |
|
selectdb |
|
√ |
写 |
无结构化数据存储 |
TxtFile |
√ |
√ |
读 、写 |
|
FTP |
√ |
√ |
读 、写 |
|
HDFS |
√ |
√ |
读 、写 |
|
Elasticsearch |
|
√ |
写 |
时间序列数据库 |
OpenTSDB |
√ |
|
读 |
|
TSDB |
√ |
√ |
读 、写 |
|
TDengine |
√ |
√ |
读 、写 |
部署
部署配置MySQL
- 部署文件如下
| services: |
| mysql: |
| image: mysql:8.0.30 |
| container_name: datax-mysql |
| restart: always |
| environment: |
| MYSQL_ROOT_PASSWORD: datax |
| TZ: Asia/Shanghai |
| ports: |
| - "3306:3306" |
| volumes: |
| - ./data:/var/lib/mysql |
- 启动
- 配置root远程访问权限
| GRANTALLON *.* TO'root'@'%'; |
| flush privileges; |
- 远程连接并执行sql语句
| create database datax_web_db default character set utf8mb4 collate utf8mb4_general_ci; |
| |
| create user 'datax_web'@'%' identified with mysql_native_password by '123456'; |
| |
| grant all privileges on datax_web_db.* to 'datax_web'@'%'; |
| |
| flush privileges; |
| 执行https://github.com/WeiYe-Jing/datax-web/blob/master/bin/db/datax_web.sql |
部署DataX
- 推荐镜像
两个镜像一样,拉取不了第一个的可以拉取第二个
- docker.io/linshellfeng/datax_web:3.0.1
- swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/linshellfeng/datax_web:3.0.1
- 创建文件夹并写入配置文件:
mkdir -p config && vim config/bootstrap.properties
| DB_HOST=<mysql_host> |
| |
| DB_PORT=3306 |
| |
| DB_USERNAME=datax_web |
| |
| DB_PASSWORD=123456 |
| |
| DB_DATABASE=datax_web_db |
- 部署文件
| services: |
| datax-web: |
| image: docker.io/linshellfeng/datax_web:3.0.1 |
| container_name: datax-web |
| restart: always |
| privileged: true |
| ports: |
| - 9527:9527 |
| volumes: |
| - ./config/bootstrap.properties:/home/datax/datax-web-2.1.2/modules/datax-admin/conf/bootstrap.properties |
- 部署
- 正常启动的日志
| [root@localhost datax-web]# docker logs -f datax-web |
| 1======begin start up mysql |
| 2024-12-04 12:22:05.953 [INFO] (7) Try To Start Modules In Order |
| 2024-12-04 12:22:06.068 [INFO] (15) ####### Begin To Start Module: [datax-admin] ###### |
| 2024-12-04 12:22:06.083 [INFO] (23) load environment variables |
| 2024-12-04 12:22:06.779 [INFO] (23) /home/datax/jdk1.8.0_162/bin/java |
| 2024-12-04 12:22:06.785 [INFO] (23) Waiting DATAX-ADMIN to start complete ... |
| 2024-12-04 12:22:07.141 [INFO] (23) DATAX-ADMIN start success |
| 2024-12-04 12:22:07.156 [INFO] (250) ####### Begin To Start Module: [datax-executor] ###### |
| 2024-12-04 12:22:07.168 [INFO] (258) load environment variables |
| 2024-12-04 12:22:07.902 [INFO] (258) /home/datax/jdk1.8.0_162/bin/java |
| 2024-12-04 12:22:07.908 [INFO] (258) Waiting DATAX-EXEXUTOR to start complete ... |
| 2024-12-04 12:22:08.329 [INFO] (258) DATAX-EXEXUTOR start success |
| 2======init datax-web server finished |
| 0======start up /usr/sbin/init |
- 访问验证,账密:
admin/123456

本文作者:StupidCN
本文链接:https://www.cnblogs.com/adblogs/p/18605350
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步