跨境派

跨境派

跨境派,专注跨境行业新闻资讯、跨境电商知识分享!

当前位置:首页 > 工具系统 > 建站工具 > 使用Docker部署DataX3.0+DataX-Web

使用Docker部署DataX3.0+DataX-Web

时间:2024-03-25 17:56:13 来源:网络cs 作者:焦糖 栏目:建站工具 阅读:

标签: 部署  使用 

1、准备基础镜像,开通所需端口

先查看3306和9527端口是否开放,如果未开放先在防火墙添加

firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --zone=public --add-port=9527/tcp --permanentfirewall-cmd --reloadsystemctl stop dockersystemctl restart docker

拉取镜像

docker pull linshellfeng/datax_web:3.0.1

或者

docker pull swr.cn-north-1.myhuaweicloud.com/softwares/datax-web:2.1.2

注意:datax_web:3.0.1镜像已经整合了datax3.0和datax-web,整合后的镜像大小约990M

2、初始化数据库

下载DataX-Web源码

https://github.com/WeiYe-Jing/datax-web1.IDEA编译打包下载链接:https://pan.baidu.com/s/13a8nIpz6FL8y4fdE94trjQ 提取码:data2.官方提供的版本tar版本包https://pan.baidu.com/s/13yoqhGpD00I82K4lOYtQhg 提取码:cpsk

创建数据库

mysql> create database datax_web;

解压DataX-Web压缩包

# 找到 bin/db/datax_web.sql 文件,进行初始化

3、在宿主机创建挂载文件

在宿主机创建/usr/datax/datax-web/datax-admin/conf目录,并将bootstrap.properties拷贝到/usr/datax/datax-web/datax-admin/conf目录下,该文件用来配置datax-web连接数据库的信息,ip地址和xxxxxx需要按实际情况填写。

bootstrap.properties内容参考如下:

#DatabaseDB_HOST=192.168.1.xxDB_PORT=3306DB_USERNAME=datax_webDB_PASSWORD=xxxxxxDB_DATABASE=datax_web_db

4、启动容器

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

或者

docker run -d --name datax_web -p 9527:9527 -v /usr/datax/datax-web/datax-admin/conf/bootstrap.properties:/home/datax/datax-web-2.1.2/modules/datax-admin/conf/bootstrap.properties swr.cn-north-1.myhuaweicloud.com/softwares/datax-web:2.1.2

5、进入容器内部(非必要步骤,用来测试datax_web容器是否正常启动)

docker exec -it datax_web /bin/bash

6、测试是否datax-web服务是否正常启动

在容器内:curl http://127.0.0.1:9527/index.html
使用浏览器访问宿主机服务:http://宿主机ip:9527/index.html

使用admin/123456登录后及时修改密码

7、异常处理

当运行时:

[AnalysisStatistics.analysisStatisticsLog-53] com.alibaba.datax.common.exception.DataXException: Code:[Framework-03], Description:[DataX引擎配置错误,该问题通常是由于DataX安装错误引起,请联系您的运维解决 .]. - 在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数。
在com\alibaba\datax\core\util\container\CoreConstant.java源码中

public static final String DATAX_JOB_SETTING_SPEED_BYTE = "job.setting.speed.byte";public static final String DATAX_JOB_SETTING_SPEED_RECORD = "job.setting.speed.record";public static final String DATAX_CORE_TRANSPORT_CHANNEL_SPEED_BYTE = "core.transport.channel.speed.byte";public static final String DATAX_CORE_TRANSPORT_CHANNEL_SPEED_RECORD = "core.transport.channel.speed.record";

com\alibaba\datax\core\job\JobContainer.java源码中

boolean isByteLimit = (this.configuration.getInt(                CoreConstant.DATAX_JOB_SETTING_SPEED_BYTE, 0) > 0);if (isByteLimit) {            long globalLimitedByteSpeed = this.configuration.getInt(                    CoreConstant.DATAX_JOB_SETTING_SPEED_BYTE, 10 * 1024 * 1024);            // 在byte流控情况下,单个Channel流量最大值必须设置,否则报错!            Long channelLimitedByteSpeed = this.configuration                    .getLong(CoreConstant.DATAX_CORE_TRANSPORT_CHANNEL_SPEED_BYTE);            if (channelLimitedByteSpeed == null || channelLimitedByteSpeed <= 0) {                throw DataXException.asDataXException(                        FrameworkErrorCode.CONFIG_ERROR,                        "在有总bps限速条件下,单个channel的bps值不能为空,也不能为非正数");            }

即下方的core.transport.channel.speed.byte和job.setting.speed.byte需要同时进行设置或全都不设置

{  "core": {    "transport": {      "channel": {        "speed": {          "byte": 2000000   #大于0的数        }      }    }  },  "job": {    "setting": {      "speed": {        "channel": 3,        "byte": 1048576  #大于0的数      },

com\alibaba\datax\core\job\JobContainer.java源码中

boolean isRecordLimit = (this.configuration.getInt(                CoreConstant.DATAX_JOB_SETTING_SPEED_RECORD, 0)) > 0;        if (isRecordLimit) {            long globalLimitedRecordSpeed = this.configuration.getInt(                    CoreConstant.DATAX_JOB_SETTING_SPEED_RECORD, 100000);            Long channelLimitedRecordSpeed = this.configuration.getLong(                    CoreConstant.DATAX_CORE_TRANSPORT_CHANNEL_SPEED_RECORD);            if (channelLimitedRecordSpeed == null || channelLimitedRecordSpeed <= 0) {                throw DataXException.asDataXException(FrameworkErrorCode.CONFIG_ERROR,                        "在有总tps限速条件下,单个channel的tps值不能为空,也不能为非正数");            }

即构建的json文件中的core.transport.channel.speed.record和job.setting.speed.record需要同时进行设置或全都不设置。

本文链接:https://www.kjpai.cn/news/2024-03-25/148540.html,文章来源:网络cs,作者:焦糖,版权归作者所有,如需转载请注明来源和作者,否则将追究法律责任!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

文章评论