Docker快速部署数据同步工具DataX-Web

news2025/7/27 5:01:19

笔者最近有需求需要进行数据同步,目前确认DataX-Web适合快速搭建使用,满足基本需求。以此记录搭建Datax-Web过程和解决的坑。

一、启动MySQL容器

(1)首先,我们运行一个支撑DataX-Web运行的MySQL容器。

docker run --name mysql57 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

(2)在该MySQL,创建 datax数据库,并执行SQL语句。

datax-web/bin/db/datax_web.sql at master · WeiYe-Jing/datax-web · GitHub

二、启动DataX-Web容器

1、DataX-Web镜像拉取

使用的镜像是网上找到用得比较多的。

docker pull linshellfeng/datax_web:3.0.1

2、创建Docker文件挂载目录

(1)找一个地方存取映射,这是一些常改动的配置文件。

mkdir -p ~/code/docker/datax/datax-admin/conf

(2)下载datax.tar.gz到挂载目录conf,后续用以替换。

下载地址:https://datax-opensource.oss-cn-hangzhou.aliyuncs.com/202308/datax.tar.gz

3、配置文件获取和处理

(1)先创建临时容器用于获取配置文件

docker run --name datax-web -p 9527:9527 -d linshellfeng/datax_web:3.0.1 

 (2)从容器内复制datax-web的运行mysql配置文件

docker cp datax-web:/home/datax/datax-web-2.1.2/modules/datax-admin/conf/bootstrap.properties ~/code/docker/datax/datax-admin/conf/bootstrap.properties 

(3)停用并删除临时容器

docker stop datax-web

docker rm datax-web

(4)编辑bootstart.propertis 修改对应datax-web需要的数据库

# Database
DB_HOST=mysql57
DB_PORT=3306
DB_DATABASE=datax
DB_USERNAME=root
DB_PASSWORD=root

4、启动容器访问

docker run -p 9527:9527 --name datax-web -v ~/code/docker/datax/datax-admin/conf/bootstrap.properties:/home/datax/datax-web-2.1.2/modules/datax-admin/conf/bootstrap.properties -d linshellfeng/datax_web:3.0.1

5、替换DataX为最新版

(1)datax压缩包复制到容器里。

docker cp ~/code/docker/datax/datax-admin/conf/datax.tar.gz datax-web:/home/datax/datax.tar.gz

(2)删除容器的datax整个文件夹,路径:/home/datax/datax,最好备份原先的/home/datax/datax

# 备份
cp -r datax datax_backup
# 删除
rm -rf datax


(3)解压到路径/home/datax/下。

tar -zxvf datax.tar.gz -C /home/datax/

6、core配置文件修改

(1)进入编写

vi /home/datax/datax/conf/core.json

(2)修改core->transport->channel->speed->byte为2000000

三、容器网络联通 

(1)创建一个自定义 bridge 网络,容器可以通过容器名互相访问

docker network create datax-net

(2)网络联通

# 关联到Datax-Web的运行Mysql容器
docker network connect datax-net mysql57
# 关联到Datax-Web容器
docker network connect datax-net datax-web

四、访问Datax-Web

上面的MySQL,我们的执行SQL有一个默认用户,可以用于直接登录

(1)地址:http://127.0.0.1:9527/index.html

(2)账号:admin

(3)密码:123456

五、遇见的坑

具体的使用网上资料也很多,Datax-Web的使用这里不赘述了。

1、坑点描述

问题出现的点是在任务管理里,我们创建了一个任务,手动执行后出现错误:

ReturnT:ReturnT [code=500, msg=command exit value(1) is failed, content=null]

更具体的内容如下:

2025-01-14 16:39:20 [JobThread.run-130] <br>----------- datax-web job execute start -----------<br>----------- Param:
2025-01-14 16:39:20 [BuildCommand.buildDataXParam-100] ------------------Command parameters:
2025-01-14 16:39:20 [ExecutorJobHandler.execute-57] ------------------DataX process id: 967
2025-01-14 16:39:20 [ProcessCallbackThread.callbackLog-186] <br>----------- datax-web job callback finish.
2025-01-14 16:39:20 [AnalysisStatistics.analysisStatisticsLog-53] 
2025-01-14 16:39:20 [AnalysisStatistics.analysisStatisticsLog-53] DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
2025-01-14 16:39:20 [AnalysisStatistics.analysisStatisticsLog-53] Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.
2025-01-14 16:39:20 [AnalysisStatistics.analysisStatisticsLog-53] 
2025-01-14 16:39:20 [AnalysisStatistics.analysisStatisticsLog-53] 
2025-01-14 16:39:21 [AnalysisStatistics.analysisStatisticsLog-53] SLF4J: Class path contains multiple SLF4J bindings.
2025-01-14 16:39:21 [AnalysisStatistics.analysisStatisticsLog-53] SLF4J: Found binding in [jar:file:/home/datax/datax/lib/slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
2025-01-14 16:39:21 [AnalysisStatistics.analysisStatisticsLog-53] SLF4J: Found binding in [jar:file:/home/datax/datax/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
2025-01-14 16:39:21 [AnalysisStatistics.analysisStatisticsLog-53] SLF4J: Found binding in [jar:file:/home/datax/datax/lib/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class]
2025-01-14 16:39:21 [AnalysisStatistics.analysisStatisticsLog-53] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
2025-01-14 16:39:21 [AnalysisStatistics.analysisStatisticsLog-53] SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
2025-01-14 16:39:21 [AnalysisStatistics.analysisStatisticsLog-53] log4j:WARN No appenders could be found for logger (com.alibaba.datax.common.statistics.VMInfo).
2025-01-14 16:39:21 [AnalysisStatistics.analysisStatisticsLog-53] log4j:WARN Please initialize the log4j system properly.
2025-01-14 16:39:21 [AnalysisStatistics.analysisStatisticsLog-53] log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2025-01-14 16:39:21 [JobThread.run-165] <br>----------- datax-web job execute end(finish) -----------<br>----------- ReturnT:ReturnT [code=500, msg=command exit value(1) is failed, content=null]
2025-01-14 16:39:21 [TriggerCallbackThread.callbackLog-186] <br>----------- datax-web job callback finish.

2、坑点解决

我们在该issue获得灵感(该issue也有笔者的回复):

https://github.com/WeiYe-Jing/datax-web/issues/687

该issue也有具体的解决方案,我也已经在第二步【启动DataX-Web容器】处理了,这边是做一个记录总结。

六、参考命令

1、日志查看

(1)容器内查看DataX-Web错误日志(最近100行)

tail -n 100 /home/datax/datax-web-2.1.2/modules/datax-admin/bin/console.out

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2397305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从零开始的云计算生活——第十四天,困难重重,安全管理。

一故事背景 在前面的基本无操作内容后&#xff0c;来到了大头内容&#xff0c;安全管理&#xff01;其中的防火墙相关的内容更是重中之重&#xff0c;要好好掌握&#xff0c;熟练运用。 二SELinux安全上下文 1SELinux 简介 a. SELinux&#xff08;Security-Enhanced Linux&…

【设计模式-4.6】行为型——状态模式

说明&#xff1a;本文介绍行为型设计模式之一的状态模式 定义 状态模式&#xff08;State Pattern&#xff09;也叫作状态机模式&#xff08;State Machine Pattern&#xff09;&#xff0c;允许对象在内部状态发生改变时改变它的行为&#xff0c;对象看起来好像修改了它的类…

换ip是换网络的意思吗?怎么换ip地址

在数字化时代&#xff0c;IP地址作为我们在网络世界的"身份证"&#xff0c;其重要性不言而喻。许多人常将"换IP"与"换网络"混为一谈&#xff0c;实际上两者虽有联系却存在本质区别。本文将澄清这一概念误区&#xff0c;并详细介绍多种更换IP地址…

手机归属地查询接口如何用Java调用?

一、什么是手机归属地查询接口&#xff1f; 是一种便捷、高效的工具&#xff0c;操作简单&#xff0c;请求速度快。它不仅能够提高用户填写地址的效率&#xff0c;还能帮助企业更好地了解客户需求&#xff0c;制定个性化的营销策略&#xff0c;降低风险。随着移动互联网的发展…

随笔20250530 C# 整合 IC卡读写技术解析与实现

以下是一个完整、最简化的 FeliCa 读取整合示例&#xff08;无需 SDK&#xff0c;基于 PCSC NuGet 包&#xff09;&#xff0c;你可以直接运行这个控制台程序&#xff0c;验证能否识别 RC-S300 并读取卡片 UID&#xff1a; &#x1f9ea; 示例说明 &#x1f4e6; 使用 NuGet 包…

基于爬取的典籍数据重新设计前端界面

1.BooksView(书籍列表页) 2.ClassicsView&#xff08;目录页&#xff09; 3.管理员端

揭秘 NextJS Script 组件

揭秘 NextJS Script 组件 Next.js 的 Script 组件是对原生 <script> 标签的增强封装&#xff0c;主要区别和优势如下&#xff1a; 自动优化加载策略&#xff08;支持按需/延迟加载&#xff09;避免重复加载内置性能优化&#xff08;如预加载、回调钩子&#xff09;简化…

【C++/Linux】TinyWebServer前置知识之IP协议详解

目录 IPv4地址 分类 IP数据报分片 IP 协议在传输数据报时&#xff0c;将数据报分为若干分片&#xff08;小数据报&#xff09;后进行传输&#xff0c;并在目的系统中进行重组&#xff0c;这一过程称为分片&#xff08;Fragmentation&#xff09;。 IP模块工作流程​编辑 I…

Codeforces Round 1028 (Div. 2)(A-D)

题面链接&#xff1a;Dashboard - Codeforces Round 1028 (Div. 2) - Codeforces A. Gellyfish and Tricolor Pansy 思路 要知道骑士如果没了那么这个人就失去了攻击手段&#xff0c;贪心的来说我们只需要攻击血量少的即可&#xff0c;那么取min比较一下即可 代码 void so…

记录一个梦,借助大语言模型图片生成

梦见家门口有一条大河&#xff0c;但大河和其它景物都是灰暗没有鲜艳色彩很普通的梦中场景。大河似乎是长江的支流&#xff0c;但也可能有一个响亮的名字似乎是金沙江。 突然看到一条金红色的龙在快速游动&#xff0c;不敢相信自己的眼睛&#xff0c;因为一直不相信有这种生物…

android binder(二)应用层编程实例

一、binder驱动浅析 从上图看出&#xff0c;binder的通讯主要涉及三个步骤。 在 Binder Server 端定义好服务&#xff0c;然后向 ServiceManager 注册服务在 Binder Client 中向 ServiceManager 获取到服务发起远程调用&#xff0c;调用 Binder Server 中定义好的服务 整个流…

【深度学习】17. 深度生成模型:DCGAN与Wasserstein GAN公式深度推导

深度生成模型:DCGAN与Wasserstein GAN公式深度推导 深度卷积生成对抗网络 DCGAN 在原始 GAN 框架中&#xff0c;生成器和判别器通常使用全连接层构建&#xff0c;这限制了模型处理图像的能力。为此&#xff0c;Radford 等人在 2016 年提出了 DCGAN&#xff08;Deep Convoluti…

设计模式——命令设计模式(行为型)

摘要 本文介绍了命令设计模式&#xff0c;这是一种行为型设计模式&#xff0c;用于将请求封装为对象&#xff0c;实现请求的解耦和灵活控制。它包含命令接口、具体命令、接收者、调用者和客户端等角色&#xff0c;优点是解耦请求发送者与接收者&#xff0c;支持命令的排队、记…

03 APP 自动化-定位元素工具元素定位

文章目录 一、Appium常用元素定位工具1、U IAutomator View Android SDK 自带的定位工具2、Appium Desktop Inspector3、Weditor安装&#xff1a;Weditor工具的使用 4、uiautodev通过定位工具获取app页面元素有哪些属性 二、app 元素定位方法 一、Appium常用元素定位工具 1、U…

PABD 2025:大数据与智慧城市管理的融合之道

会议简介 2025年公共管理与大数据国际会议&#xff08;ICPMBD 2025&#xff09;确实在海口举办。本次会议将围绕公共管理与大数据的深度融合、数据分析在公共管理中的应用、大数据驱动的政策制定与优化等议题展开深入研讨。参会者将有机会聆听前沿学术报告&#xff0c;分享研究…

Golang持续集成与自动化测试和部署

概述 Golang是一门性能优异的静态类型语言&#xff0c;但因其奇快的编译速度&#xff0c;结合DevOps, 使得它也非常适合快速开发和迭代。 本文讲述如何使用Golang, 进行持续集成与自动化测试和部署。主要使用了以下相关技术&#xff1a; dep&#xff1a; 进行包的依赖管理gin…

mysql离线安装教程

1.下载地址: https://downloads.mysql.com/archives/community/ 2.上传安装包到系统目录,并解压 tar -xvf mysql-8.0.34-1.el7.x86_64.rpm-bundle.tar3.检查系统中是否存在mariadb的rpm包 rpm -qa|grep mariadb存在则删除 rpm -e xxx4.解压完后执行如下命令安装 sudo rpm -iv…

基于FPGA的VGA显示文字和动态数字基础例程,进而动态显示数据,类似温湿度等

基于FPGA的VGA显示文字和数字 前言一、VGA显示参数二、字模生成三、代码分析1.vga_char顶层2.vga_ctrl驱动文件3.vga_pic数据准备文件 总结 前言 结合正点原子以及野火的基础例程&#xff0c;理解了VGA本身基本协议&#xff0c;VGA本身显示像素为640*480&#xff0c;因此注意生…

力扣刷题Day 68:搜索插入位置(35)

1.题目描述 2.思路 方法1&#xff1a;回溯的二分查找。 方法2&#xff1a;看到了一个佬很简洁的写法&#xff0c;代码贴在下面了。 3.代码&#xff08;Python3&#xff09; 方法1&#xff1a; class Solution:def searchInsert(self, nums: List[int], target: int) ->…

使用Python绘制节日祝福——以端午节和儿童节为例

端午节 端午节总算是回家了&#xff0c;感觉时间过得真快&#xff0c;马上就毕业了&#xff0c;用Python弄了一个端午节元素的界面&#xff0c;虽然有点不像&#xff0c;祝大家端午安康。端午节粽子&#xff08;python&#xff09;_python画粽子-CSDN博客https://blog.csdn.net…