DataX记录

本文介绍了如何配置Python和Java环境,以及DataX的下载安装和自检过程。在DataX自检中遇到的配置文件错误需要手动修复。接着,DataX-Web的一键安装和数据库初始化步骤被详细阐述。最后,文章提到了DataX-Web的使用,包括创建项目、执行器管理和数据源配置,以及解决在数据源测试连接时遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境配置

Python:Python 2.7.9

Java: 1.8

wget -c https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -xzvf Python-2.7.9.tgz -C /usr/local/python
cd /usr/local/python/Python-2.7.9/
LDFLAGS="-L/usr/lib/x86_64-linux-gnu" ./configure
make 
make install

1:DataX下载安装

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

tar -zxvf datax.tar.gz -C /usr/local/

进入 /usr/local/datax/bin,开始自检

cd /usr/local/datax/bin

python datax.py ../job/job.json

自检如果正常,将会返回如下结果

 自检报错


DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.


2023-02-02 09:12:52.355 [main] WARN  ConfigParser - 插件[streamreader,streamwriter]加载失败,1s后重试... Exception:Code:[Common-00], Describe:[您提供的配置文件存在错误信息,请检查您的作业配置 .] - 配置信息错误,您提供的配置文件[/usr/local/datax/datax/plugin/reader/._mongodbreader/plugin.json]不存在. 请检查您的配置文件. 
2023-02-02 09:12:53.361 [main] ERROR Engine - 

经DataX智能分析,该任务最可能的错误原因是:
com.alibaba.datax.common.exception.DataXException: Code:[Common-00], Describe:[您提供的配置文件存在错误信息,请检查您的作业配置 .] - 配置信息错误,您提供的配置文件[/usr/local/datax/datax/plugin/reader/._mongodbreader/plugin.json]不存在. 请检查您的配置文件.
        at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:26)
        at com.alibaba.datax.common.util.Configuration.from(Configuration.java:95)
        at com.alibaba.datax.core.util.ConfigParser.parseOnePluginConfig(ConfigParser.java:153)
        at com.alibaba.datax.core.util.ConfigParser.parsePluginConfig(ConfigParser.java:125)
        at com.alibaba.datax.core.util.ConfigParser.parse(ConfigParser.java:63)
        at com.alibaba.datax.core.Engine.entry(Engine.java:137)
        at com.alibaba.datax.core.Engine.main(Engine.java:204)

如果自检失败,需要手动删除

datax/plugin/reader/ 下所有._xxxx(.开头的)隐藏文件
datax/plugin/writer/ 下所有._xxxx(.开头的)隐藏文件

cd ../plugin/
find ./* -type f -name "._*er"
rm -rf */._*
#在查询如果没有文件了在重新初始化
find ./* -type f -name "._*er"

2:DataX-web下载安装

百度网盘 请输入提取码 提取码:cpsk

2.1: 解压

tar -zxvf datax-web-2.1.2.tar.gz -C /usr/local
cd datax-web-2.1.2/bin

2.2:执行一键安装脚本

./install.sh
#一路按y同意即可,或者使用
./install.sh --force

2.3:数据库初始化

Scan out mysql command, so begin to initalize the database
Do you want to initalize database with sql: [{INSTALL_PATH}/bin/db/datax-web.sql]? (Y/N)y
Please input the db host(default: 127.0.0.1): 
Please input the db port(default: 3306): 
Please input the db username(default: root): 
Please input the db password(default: ): 
Please input the db name(default: dataxweb)

需要提前安装mysql数据库,创建用户,指定数据库,比如dataxweb。

关于数据库的配置,也可以直接在这里修改,修改之后重启服务即可。

vi ./modules/datax-admin/conf/bootstrap.properties

2.4 配置Datax位置

vi ./modules/datax-execute/bin/env.properties

### 执行datax的python脚本地址
PYTHON_PATH=/usr/local/datax/datax/bin/datax.py

2.5:启动服务

# 启动服务
./bin/start-all.sh

 运行jps查看状态,如果出现DataXAdminApplication和DataXExecutorApplication进程,这表示项目运行成功

jps
18726 Jps
17575 DataXAdminApplication
17851 DataXExecutorApplication

如果项目启动失败,请检查启动日志:modules/datax-admin/bin/console.out或者modules/datax-executor/bin/console.out

2.6: 访问

浏览器访问 http://192.168.47.136:9527/index.html 输入用户名 admin 密码 123456 就可以直接访问系统。关闭防火墙或者开启端口访问。

3:datax_web的使用

3.1:创建项目

 3.2:执行器管理中新建执行器(原来库里已有默认的,可直接使用)

1、AppName: (与datax-executor中application.yml的datax.job.executor.appname保持一致)
   每个执行器集群的唯一标示AppName, 执行器会周期性以AppName为对象进行自动注册。可通过该配置自动发现注册成功的执行器, 供任务调度时使用;
2、名称: 执行器的名称, 因为AppName限制字母数字等组成,可读性不强, 名称为了提高执行器的可读性;
3、排序: 执行器的排序, 系统中需要执行器的地方,如任务新增, 将会按照该排序读取可用的执行器列表;
4、注册方式:调度中心获取执行器地址的方式;
    自动注册:执行器自动进行执行器注册,调度中心通过底层注册表可以动态发现执行器机器地址;
    手动录入:人工手动录入执行器的地址信息,多地址逗号分隔,供调度中心使用;
5、机器地址:"注册方式"为"手动录入"时有效,支持人工维护执行器的地址信息;

3.3:新建数据源

新建数据源的时候测试连接报错。

Code:[MYSQLErrCode-02], Description:[数据库服务的IP地址或者Port错误,请检查填写的IP地址和Port或者联系DBA确认IP地址和Port是否正确。
如果是同步中心用户请联系DBA确认idb上录入的IP和PORT信息和数据库的当前实际信息是一致的]. - 
具体错误信息为:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 
Communications link failure The last packet successfully received from the server was 67 milliseconds ago. The last packet sent successfully to the server was 67 milliseconds ago.

最开始写的是useSSL=true。后面百度后改成useSSL=false就可以了。

 3.4:任务管理中Datax任务模板创建

 3.5: 任务构建

寻找需要转储的表和字段

 

选对应的目标库与目标库,字段对应上即可。可以在执行前编写前置sql,比如清除表数据操作等

 勾选对应的标和字段,按顺序匹配

 然后构建,点击生成模板,下一步即可

 构建任务成功后,任务管理模块就可以看到生成的任务管理了。可以点击启动,或者执行一次,然后查看日志看看是否成功。

 

 如果报错的话,可以查看日志以及检查相关的脚本信息

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值