本帖最后由 da11 于 2026-4-24 16:32 编辑
使用容器化部署mysql和datax-web,并实现添加达梦数据库数据源
Mysql部分,pull镜像过程略,目前可以使用docker.1ms.run/library/源下载
创建数据存储目录
mkdir -p /data/mysql/data
chown -R 999:999 /data/mysql/data
启动mysql容器
docker run -p 3308:3306 --name mysql-etl -e MYSQL_ROOT_PASSWORD=xxxxxx -v /data/mysql/data:/var/lib/mysql -d docker.1ms.run/library/mysql:5.7
创建宿主机sqls缓存目录
mkdir -p /data/mysql/data/sqls/
进入容器及mysql后,创建datax_web数据库
CREATE DATABASE IF NOT EXISTS datax_web CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
导入datax初始化数据(需要从datax-web部署路径拿到这个初始化sql脚本,并放入容器的/var/lib/mysql/sqls/中)
source /var/lib/mysql/sqls/datax_web.sql;
创建容器网络
docker network create datax-net
将已有的 MySQL 容器连接到该网络
docker network connect datax-net mysql-etl
Datax-web部分
pull datax_web镜像(含datax、datax_web)
docker pull linshellfeng/datax_web:3.0.1
创建datax-web宿主机目录
mkdir -p /data/datax_web/conf/
修改数据库连接配置文件
vim /data/datax_web/conf/bootstrap.properties
#Database
DB_HOST=mysql-etl
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=xxxxxx
DB_DATABASE=datax_web
启动datax-web容器
docker run -p 19527:9527 --name datax-web -v /data/datax_web/conf/bootstrap.properties:/home/datax/datax-web-2.1.2/modules/datax-admin/conf/bootstrap.properties --ulimit nofile=1024:1024 -d linshellfeng/datax_web:3.0.1
将datax-web容器添加进datax-net网络
docker network connect datax-net datax-web
将最新版datax替换到容器内(最新版的datax需要自行下载)
docker cp /data/datax_web/datax.tar.gz datax-web:/home/datax/
docker exec -it datax-web /bin/bash
以下替换操作需要在容器内操作!!
cd /home/datax/
rm -rf /home/datax/datax/
tar -xf datax.tar.gz
重启datax-web容器
docker restart datax-web
进入容器内部查看datax-web日志
tail -f /home/datax/datax-web-2.1.2/modules/datax-admin/bin/console.out
看到没有报错即成功部署
访问http://IP:19527,默认密码为admin/123456,请及时修改默认密码!!
添加达梦数据库驱动部分
获取达梦数据库8-JDBC驱动,在达梦数据库的安装目录drivers/jdbc下,获取DmJdbcDriver18.jar驱动包。
将这个驱动包复制进容器内的以下路径中
docker cp /data/datax_web/DmJdbcDriver8.jar datax-web:/home/datax/datax/plugin/reader/rdbmsreader/libs/
docker cp /data/datax_web/DmJdbcDriver8.jar datax-web:/home/datax/datax/plugin/writer/rdbmswriter/libs/
docker cp /data/datax_web/DmJdbcDriver8.jar datax-web:/home/datax/datax/lib/
docker cp /data/datax_web/DmJdbcDriver8.jar datax-web:/home/datax/datax-web-2.1.2/modules/datax-admin/lib/
docker cp /data/datax_web/DmJdbcDriver8.jar datax-web:/home/datax/datax-web-2.1.2/modules/datax-executor/lib/
然后重启datax-web容器
访问datax-web页面,添加数据源
按照以下方式添加达梦数据源
数据源类别选择oracle
jdbc-url示例:jdbc:dm://IP:5236/实例名(用户名)
jdbc驱动类:dm.jdbc.driver.DmDriver
然后点击测试连接,右侧弹出success即代表连接成功!
|