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

这篇具有很好参考价值的文章主要介绍了使用Docker部署DataX3.0+DataX-Web。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=9527/tcp --permanent
firewall-cmd --reload
systemctl stop docker
systemctl 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-web
1.IDEA编译打包
下载链接:https://pan.baidu.com/s/13a8nIpz6FL8y4fdE94trjQ 提取码:data
2.官方提供的版本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内容参考如下:

#Database
DB_HOST=192.168.1.xx
DB_PORT=3306
DB_USERNAME=datax_web
DB_PASSWORD=xxxxxx
DB_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.bytejob.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.recordjob.setting.speed.record需要同时进行设置或全都不设置。文章来源地址https://www.toymoban.com/news/detail-850407.html

到了这里,关于使用Docker部署DataX3.0+DataX-Web的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源DataX集成可视化项目Datax-Web的使用

    上一篇文章我们已经搭建好了 Datax-Web 后台,这篇文章我们具体讲一下如何通过Datax-Web来配置,同步MySQL数据库。 1、\\\"调度中心OnLine:\\\"右侧显示在线的\\\"调度中心\\\"列表, 任务执行结束后, 将会以failover的模式进行回调调度中心通知执行结果, 避免回调的单点风险; 2、“执行器列表”

    2024年02月08日
    浏览(36)
  • 00-开源离线同步工具DataX3.0重磅详解!

    DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接

    2024年02月08日
    浏览(42)
  • Datax-web入门配置与启动

    在idea中启动Datax-web 需要先将Datax在本地安装,可以参考这篇文章(DataX在win10中的安装) GitHub - WeiYe-Jing/datax-web: DataX集成可视化页面,选择数据源即可一键生成数据同步任务,支持RDBMS、Hive、HBase、ClickHouse、MongoDB等数据源,批量创建RDBMS数据同步任务,集成开源调度系统,支

    2024年02月08日
    浏览(49)
  • datax-web登陆时出现账号密码错误

    目录的位置:datax-web-2.1.2/modules/datax-admin/bin/console.out 发现了java程序没有跑起来,解决对应的bug问题即可,一般都是数据库连接的问题,可能和使用的数据库版本什么的有关系

    2024年02月14日
    浏览(47)
  • 【DataX-Web的搭建(Windows/Linux环境)

    备注:我本地目录规划, 统一放到文件夹: D:javaProjectssync-datadatax D:javaProjectssync-datadatax-web (1) 安装 python3 (配置环境变量),但从github上下载的版本只支持python2.x版本,而现在python3.x正流行,这给我们带来不少麻烦。 datax 支持Python3需要修改替换datax/bin下面的三个pyt

    2024年02月08日
    浏览(37)
  • centos7-datax和datax-web安装以及安装中问题的解决

    一、下载这些软件(见)   系统变量设置(安装 maven和jdk略) vi /etc/profile JAVA_HOME=/usr/local/jdk1.8.0_40 CLASSPATH=$JAVA_HOME/lib/ PATH=$PATH:$JAVA_HOME/bin DATAX_HOME=/usr/local/datax PATH=$PATH:$DATAX_HOME/bin   export MAVEN_HOME=/usr/local/apache-maven-3.6.3 export PATH=$PATH:$MAVEN_HOME/bin   生效系统变量 source /etc/p

    2024年02月10日
    浏览(39)
  • 阿里云开源离线同步工具DataX3.0,用于数据仓库、数据集市、数据备份

    DataX是阿里云开源的一款离线数据同步工具,支持多种数据源和目的地的数据同步,包括但不限于MySQL、Oracle、HDFS、Hive、ODPS等。它可以通过配置文件来定义数据源和目的地的连接信息、数据同步方式、数据过滤等,从而实现数据的高效、稳定、可扩展的同步。 例如,如果您

    2024年02月10日
    浏览(52)
  • DataX简介、部署、原理和使用介绍

    项目地址:https://github.com/alibaba/DataX 官方文档:https://github.com/alibaba/DataX/blob/master/introduction.md ​ DataX 是阿里云 DataWorks数据集成 的开源版本,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBas

    2024年02月15日
    浏览(37)
  • 数据同步工具—DataX—Web部署使用

    以前了解datax,感觉对易用性不大好,目前发现已经图形配置工具。简单整理一下。 Datax 的使用过程中,我们会发现,不管是利用 java 调用以及 python 命令启动的方式,我们都无法进行任务的管理,并且每次执行任务前,我们 都需要编辑 Json 配置文件,这是比较繁琐的,随着业

    2024年02月05日
    浏览(42)
  • 5、DataX(DataX简介、DataX架构原理、DataX部署、使用、同步MySQL数据到HDFS、同步HDFS数据到MySQL)

    1.1 DataX概述 源码地址:https://github.com/alibaba/DataX 1.2 DataX支持的数据源 DataX目前已经有了比较全面的插件体系,主流的RDBMS数据库、NOSQL、大数据计算系统都已经接入,目前支持数据如下图。 2.1 DataX设计理念 为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星

    2024年02月11日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包