dateX安装
dateX安装
ubuntu22系统
硬盘存储空间,若不涉及生产环境部署,考虑拓展和业务数据量,够用就行
python 2.7 、JDK1.8
datax.py 部分语法不支持3.0版本,用python3需要更换python文件,比较费劲,一般用系统自带的2.7,若没有需要行安装
提前安装好jdk1.8 正确配置环境变量
jdk11也可以用 需要支持jps
python3 ubuntu22 自带也可以使用
安装包:
datax.tar.gz :
下载地址:
https://github.com/alibaba/DataX
web端
https://github.com/WeiYe-Jing/datax-web/blob/master/doc/datax-web/datax-web-deploy.md
提取码:cpsk
datax安装
tar -zxvf datax.tar.gz -C /tools
cd /tools/datax
python ./bin/datax.py ./job/job.json
/bin/sh: 1: java: not found
原因:root用户执行的,没有找到 java_home
如果是root用户执行的, vi /etc/profile 看看环境变量配置是否有,java_home配置
source /etc/profile
重新执行测试任务 :python ./bin/datax.py ./job/job.json
2022-09-19 14:58:23.177 [job-0] INFO StandAloneJobContainerCommunicator - Total 1000000 records, 26000000 bytes | Speed 2.48MB/s, 100000 records/s | Error 0 records, 0 bytes | All Task WaitWriterTime 0.629s | All Task WaitReaderTime 13.903s | Percentage 100.00%
2022-09-19 14:58:23.179 [job-0] INFO JobContainer -
任务启动时刻 : 2022-09-19 14:58:13
任务结束时刻 : 2022-09-19 14:58:23
任务总计耗时 : 10s
任务平均流量 : 2.48MB/s
记录写入速度 : 100000rec/s
读出记录总数 : 1000000
读写失败总数 : 0
测试stream 没问题
datax.py 自动生成模板
python ./bin/datax.py -r mysqlreader -w oraclewriter
以reader=mysql writer=oracle为例
DataX (DATAX-OPENSOURCE-3.0), From Alibaba !
Copyright (C) 2010-2017, Alibaba Group. All Rights Reserved.
Please refer to the mysqlreader document:
https://github.com/alibaba/DataX/blob/master/mysqlreader/doc/mysqlreader.md
Please refer to the oraclewriter document:
https://github.com/alibaba/DataX/blob/master/oraclewriter/doc/oraclewriter.md
Please save the following configuration as a json file and use
python {DATAX_HOME}/bin/datax.py {JSON_FILE_NAME}.json
to run the job.
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": [],
"connection": [
{
"jdbcUrl": [],
"table": []
}
],
"password": "",
"username": "",
"where": ""
}
},
"writer": {
"name": "oraclewriter",
"parameter": {
"column": [],
"connection": [
{
"jdbcUrl": "",
"table": []
}
],
"password": "",
"preSql": [],
"username": ""
}
}
}
],
"setting": {
"speed": {
"channel": ""
}
}
}
}
可以根据datax.py调用模板配置,生成需要作业的json
实例:
mysql 300W行数据写入oracle (提前在oracle建好表)
/usr/local/datax/job/222.json
oracle "jdbcUrl" : "jdbc:oracle:thin:@//192.168.1.160:1521/ORCL19C"
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": [""],
"splitPk": "id",
"connection": [
{
"jdbcUrl": ["jdbc:mysql://192.168.1.130:3306/test?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8"],
"table": ["t_member"]
}
],
"password": "",
"username": "test",
"where": ""
}
},
"writer": {
"name": "oraclewriter",
"parameter": {
"column": [""],
"connection": [
{
"jdbcUrl": "jdbc:oracle:thin:@//192.168.1.160:1521/ORCL19C",
"table": ["t_member"]
}
],
"password": "**",
"preSql": ["truncate table t_member"],
"username": "c##xxxxx"
}
}
}
],
"setting": {
"speed": {
"channel": "10"
}
}
}
}
行结果:(10通道)
2022-09-19 15:55:42.347 [job-0] INFO JobContainer - PerfTrace not enable!
2022-09-19 15:55:42.347 [job-0] INFO StandAloneJobContainerCommunicator - Total 2999999 records, 107666651 bytes | Speed 2.05MB/s, 59999 records/s | Error 0 records, 0 bytes | All Task WaitWriterTime 26.427s | All Task WaitReaderTime 397.284s | Percentage 100.00%
2022-09-19 15:55:42.349 [job-0] INFO JobContainer -
任务启动时刻 : 2022-09-19 15:54:48
任务结束时刻 : 2022-09-19 15:55:42
任务总计耗时 : 54s
任务平均流量 : 2.05MB/s
记录写入速度 : 59999rec/s
读出记录总数 : 2999999
读写失败总数 : 0
datax-web服务安装
tar -zxvf datax-web-2.1.2.tar.gz -C /tools
运行安装
/tools/datax-web-2.1.2
./bin/install.sh
/tools/datax-web-2.1.2
vim /modules/datax-admin/conf/bootstrap.properties
DB配置 按实际mysql配置
Database
DB_HOST=
DB_PORT=
DB_USERNAME=
DB_PASSWORD=
DB_DATABASE=
admin配置修改
/modules/datax-admin/bin/env.properties
JAVA_HOME=/usr/local/jdk
安装jdk可以忽略
java_home默认路径末尾不带'/'
SERVER_PORT=9527
mail account 可以忽略
MAIL_USERNAME=""
MAIL_PASSWORD=""
executor 配置修改
vim /modules/datax-executor/bin/env.properties
修改关键配置
JAVA_HOME=/usr/local/jdk
安装jdk可以忽略
执行datax的python脚本地址
PYTHON_PATH=/usr/local/datax/bin/datax.py
DATAX_ADMIN_PORT=
datax默认端口 保持与datax-admin服务的端口一致;
默认是9527,如果没改datax-admin的端口,可以忽略
启动web服务环境
/bin/start-all.sh
jps 查看进程
root@influxdb-2:/tools/datax-web-2.1.2/modules/datax-admin/conf# jps
33889 Jps
33262 DataXExecutorApplication
32975 DataXAdminApplication
DataXExecutorApplication跟DataXAdminApplication 看到表示启动成功
部署完成后,在浏览器中输入 http://ip:port/index.html 就可以访问对应的主界面(ip 为 datax-admin 部署所在服务器 ip,port 为 datax-admin 指定的运行端口 9527),输入用户名 admin 密码 123456 就可以直接访问系统:
如果你登录不进去,显示账号密码错误,可以先去数据库看看是否有 dataxweb 数据库生成,如果没有则需要我们手动把 datax_web.sql 导入 dataxweb 数据库中,先创建 dataxweb 数据库再进入此数据库,最后导入 datax_web.sql 文件 即可
设置mysql数据库
加上参数 useSSL=false
如果数据接收端也需要支持8.1,则相应的驱动包也要加入:
mysql-connector-java-8.0.13.jar
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了