记录部署Datax、Datax-web 过程碰到的问题
我的第一篇博客
datax在网络上部署的文档有很多,这里不重复阐述,只描述过程中碰到的些许问题,记录下来。
1.
1 ERROR RetryUtil - Exception when calling callable, 异常Msg:DataX无法连接对应的数据库,可能原因是:1) 配置的ip/port/database/jdbc错误,无法连接。2) 配置的username/password错误,鉴权失败。请和DBA确认该数据库的连接信息是否正确。
2 2023-06-19 15:10:52 [AnalysisStatistics.analysisStatisticsLog-53] java.lang.Exception: DataX无法连接对应的数据库,可能原因是:1) 配置的ip/port/database/jdbc错误,无法连接。2) 配置的username/password错误,鉴权失败。请和DBA确认该数据库的连接信息是否正确。
解决方法:
cd /opt/datax/plugin/reader/mysqlreader/libs
这个目录下,删除掉低版本的mysql驱动版本,替换为:mysql-connector-java-8.0.*.jar
2. mysql 同步数据到hdfs上,会出现设置固定前缀的多个文件,实际文件内数据重复了,低版本的datax未解决重复问题,
问题的原因是 hdfswriter 的 writemode 只支持 append 和 nonConflict,可以下载源码找到对应的模块增加覆盖功能。
源码地址:alibaba/DataX: DataX是阿里云DataWorks数据集成的开源版本。 (github.com)
很荣幸在我碰到这个问题时,源码的 master版本解决了此问题,那么下载下来编译后安装,writeMode 增加了 truncate 功能,执行任务时若hdfs目录下存在设置的前缀文件,会先删除。
但是data-web 2.1.2 下拉选择时没有此选项,需要自行在josn文件中修改
"path": "/warehouse/jzg_ga_prod/ods/ods_t_message_template",
"fileName": "00000",
"writeMode": "truncate",
"fieldDelimiter": "\t",
3. hdfs 同步至 mysql 时的脏数据导致同步失败的问题
UnstructuredStorageReaderUtil - CsvReader使用默认值[{"captureRawRecord":true,"columnCount":0,"comment":"#","currentRecord":-1,"delimiter":"\t","escapeMode":1,"headerCount":0,"rawRecord":"","recordDelimiter":"\u0000","safetySwitch":false,"skipEmptyRecords":true,"textQualifier":"\"","trimWhitespace":true,"useComments":false,"useTextQualifier":true,"values":[]}],csvReaderConfig值为[null]
2023-06-19 15:53:30 [AnalysisStatistics.analysisStatisticsLog-53] 2023-06-19 15:53:30.209 [0-0-0-reader] ERROR StdoutPluginCollector - 脏数据:
2023-06-19 15:53:30 [AnalysisStatistics.analysisStatisticsLog-53] {"record":[{"byteSize":1,"index":0,"rawData":1,"type":3},{"byteSize":7,"index":1,"rawData":"注册账号验证码","type":5},{"byteSize":1,"index":2,"rawData":1,"type":3},{"byteSize":28,"index":3,"rawData":"您的验证码为:${code},如非本人操作,请忽略本短信","type":5},{"byteSize":1,"index":4,"rawData":"2","type":5},{"byteSize":1,"index":5,"rawData":"2","type":5},{"byteSize":1,"index":6,"rawData":0,"type":3},{"byteSize":1,"index":7,"rawData":"3","type":5},{"byteSize":0,"index":8,"rawData":"","type":5},{"byteSize":0,"index":9,"rawData":"","type":5}],"type":"reader","message":"No enum constant com.alibaba.datax.plugin.unstructuredstorage.reader.UnstructuredStorageReaderUtil.Type.BIGINT"}
2023-06-19 15:53:30 [AnalysisStatistics.analysisStatisticsLog-53] 2023-06-19 15:53:30.209 [0-0-0-reader] ERROR StdoutPluginCollector - 脏数据:
原因:是datax 数据类型的问题 参考网上给出的类型对照(来源:https://www.jianshu.com/p/02e78ff57437)

解决方法:将 bigint、 int 改为 long 即可

记录部署Datax、Datax-web 过程碰到的问题的更多相关文章
- Django部署到Apache Web Server
Windows环境下,将Django部署到Apache Web Server 在Windows上部署Django(用mod_wsgi)会出现各种奇怪的问题,现简单记录下配置过程及遇到的错误及解决方法. ...
- Windows Azure入门教学系列 (二):部署第一个Web Role程序
本文是Windows Azure入门教学的第二篇文章. 在第一篇教学中,我们已经创建了第一个Web Role程序.在这篇教学中,我们将学习如何把该Web Role程序部署到云端. 注意:您需要购买Wi ...
- 如何使用Docker部署一个Go Web应用程序
熟悉Docker如何提升你在构建.测试并部署Go Web应用程序的方式,并且理解如何使用Semaphore来持续部署. 简介 大多数情况下Go应用程序被编译成单个二进制文件,web应用程序则会包括模版 ...
- Nginx 部署多个 web 项目(虚拟主机)
1,创建 www 目录 2,在 www 目录下创建 test1 和 test2 目录,表示两个项目 3,test1 下创建 test1.html 4,test2 下创建 test2.html 5,配置 ...
- 部署 Windows PowerShell Web 访问
部署 Windows PowerShell Web 访问 适用对象:Windows Server 2012, Windows Server 2012 R2 Windows PowerShell® We ...
- 在裸机centos7系统中部署django项目的过程
概要 本文用一台安装了centos7.5系统的裸奔Linux机器(当然是虚拟机)详细讲解从无到有部署django项目的过程. 安装必要的工具 配置yum源 至于什么是yum源大家请自行百度,本人用的是 ...
- 框架5--nginx安装部署 下(web服务)
目录 1.提纲 2.Nginx虚拟主机 3.Nginx日志 4.Nginx访问控制模块 5.Nginx状态监控模块 6.访问连接控制模块 框架5--nginx安装部署 下(web服务) 1.提纲 1. ...
- 安装部署完office web apps 后,无法浏览Word
安装部署完office web apps 后,在sharepoint 2010浏览器中浏览Word提示:“由于出现意外错误,Word Web App 无法打开此 文档 进行查看. 要查看此 文档,请在 ...
- 记录sqoop同步失败问题解决过程,过程真的是很崎岖。(1月6日解决)
记录sqoop同步失败问题解决过程,过程真的是很崎岖.事发原因:最近突然出现sqoop export to mysql时频繁出错.看了下日志是卡在某条数据过不去了,看异常.看sqoop生成的mr并未发 ...
- ASP.NET MVC3 系列教程 - 部署你的WEB应用到IIS 6.0
I:ASP.NET MVC3 部署的前期工作 1.确认部署的服务器操作系统环境 首先我们确认服务器的操作系统版本 可以从系统命令行工具里输入: systeminfo 获取相关操作系统信息例如 然后再确 ...
随机推荐
- 关于VUE3的疑问。
1.响应式数据的声明 中 ref 与 reactive 有什么区别? 答:参考答案 .个人理解:ref最好用来定义基本数据类型,使用时要用.value :reactive最好用来定义引用数据类型.re ...
- 使用easyexcal导出excal
需要的依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>easyexcel</ ...
- python入门教程之一 什么是python
python简介 1 什么是python Python是一种计算机程序设计语言.你可能已经听说过很多种流行的编程语言,比如非常难学的C语言,非常流行的Java语言,适合初学者的Basic语言,适合网页 ...
- pandas操作excle
Python是一门强大的编程语言,也是数据科学领域中最流行的语言之一.在处理数据时,很多时候需要与Excel进行交互,以进行数据读取.清理和分析.Python中有很多工具可以与Excel进行交互,其中 ...
- ubutn在线服务器python Package安装到离线服务器
1.在线服务器导出requirement.txt pip freeze > requirement.txt 该文件生成完毕后,需要做些修改,去掉不需要的库,否则下载的时候会出错. 2.下载whl ...
- mysql+proxysql+replication-manager的主从半同步复制+高可用+读写分离
环境: AlmaLinux release 9.1 MySQL Community Server Ver 8.0.33 Replication Manager v2.2.40 for MariaDB ...
- shell执行一个程序过程
1:shell调用执行程序或脚本 2:unix内核启动一个新的进程,在该进程中执行所指定的程序. 3:如果是编译型程序,内核成执行,如果无法执行指定的程序,返回"not executable ...
- 一文理解TS泛型
当我们在编写 TypeScript 代码时,经常会遇到需要通用(Generic)的情况,这时候,泛型就是我们的好帮手了.在本篇文章中,我们将深入介绍 TypeScript 泛型的概念以及如何使用. 什 ...
- for of 和 for in 的区别
1 var arr = ["f", "6", 3, "a", 7]; 2 var obj = { name: "shun" ...
- Pwn系列之Protostar靶场 Stack1题解
(gdb) disasse main Dump of assembler code for function main: 0x08048464 <main+0>: push ebp 0x0 ...