1. 数据同步编辑
1.1 数据同步节点设置后运行任务,任务日志界面报错关键字:脏数据或Too many dirty error
1.1.1 脏数据详细报错为:“Long类型不能转为Bytes”
原因:
tinyint(1)类型字段被代码读取为bit类型字段
解决方案:
数据连接中增加参数?tinyInt1isBit=false
1.1.2 脏数据详细报错为: 脏数据条数检查不通过,限制是[(0]条, 但实际上捕获了[1]条或 limit [0] records , but catch [13] records
继续查看fanruan.log日志是否有相关报错。
原因1:
查看来源表中某字段有空值,但是目标表中该字段设置了不可为空
解决方案:
过滤掉来源表中某字段为空的数据,或者设置目标表字段可为空
原因2:
来源数据与目标数据的字段类型或字段长度对不上
解决方案:
修改目标表字段类型、字段长度,与来源表相符
原因3:
当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'CB' 中的标识列插入显式值。
解决方案:
数据库配置问题set IDENTITY_INSERT Student ON。
小结:
报错脏数据目前发现的原因有:
1.字段类型不匹配
2.字段长度不够
3.inentity insert设置为off
4.复制节点没有点击字段映射
1.2 数据同步节点设置后运行任务,任务日志界面报错:您填写的参数值不合法
报错详细:
com.fr.dp.exception.FineDPException: Code:[DBUtilErrorCode-02], Description:[您填写的参数值不合法.]. - 您的配置文件中的列配置信息有误. 因为您未配置写入数据库表的列名称,fdi获取不到列信息. 请检查您的配置并作出修改.
原因:
来源表字段获取失败
解决方案:
检查来源表数据预览是否成功,若是数据库数据源,可能是sql语法错误,若是API数据源,可能token失效
1.3 数据同步节点中,预览数据来源报错:无法获取已存在的目标表
查看fanruan.log日志报错:不支持的字符集(在类路径中添加orai18n.jar)
原因:
lib中缺少orai18n.jar包
解决方案:
FDL的lib中增加orai18n.jar包即可
1.4 数据同步节点中,数据来源选择RestAPI,预览时执行失败
报错详细:
com.fr.dp.exception.FineDPException: API_DATA_INVALID_ERROR - ApiReader can't get data of column [data], please check api response.
原因:
API数据源token失效,读不到data字段
解决方案:
重新获取API数据源的token
1.5 数据同步节点中,数据来源选择RestAPI,预览时显示数据为空值
原因:
请求头中可能未指定通过json的格式进行取数
解决方案:
点开更多配置,请求头中添加: {"Content-Type":"application/json"}
1.6 数据同步节点中,数据来源选择RestAPI,预览时报错Warning: wrong json format
原因:
导入的是表格形式,如果不写,就是识别表格,会报错
解决方案:
请求头加上:{"Content-Type":"application/json"}
1.7 数据同步节点设置后,运行任务显示:服务器内部错误
原因1:核实触发了20009规则,该规则主要拦截POST数据请求体解码后包含”%“、”$“等特殊字符的攻击特征,这些字符通常是代码执行攻击利用到字符,所以被识别为攻击拦截了。
解决方案:
条件分支用到了$,特殊字符需要加密传输,可以先给$ 这个字符开通道,如下图,或对这个ip加白名单
原因2:
服务器禁用了put和delete请求,安装插件“put和delete转换为post”即可。
1.8 数据同步节点设置后运行任务,任务日志界面报错:数据连接异常
数据连接异常- DataBase[testnora]'s table[ceshi1] get pk names failed! - Table 'testnora.ceshi1' doesn't exist
解决方案:
要在数据连接的url处,增加:?useUnicode=true&characterEncoding=UTF-8
1.9 数据去向为GPload时,运行任务出现“connection disabled”的报错,如下图所示:
原因:fd没访问成功对应接口;网络连接问题
解决方案:检查下fdl服务器的15500端口有没有开放;fd服务器能否ping通fdl服务器
2. 数据转换编辑
2.1 数据转换节点保存后运行,任务日志界面报错:Spark执行错误
报错信息:[数据关联]: Spark执行错误- org apache spark sql. execution joins .exception.N2NInterruptException - null
原因:
spark自己的保护机制,数据量过大避免宕机时触发,关联结果膨胀超过5倍 + 关联数据量大于 1kw出现
2.2 DB表输出为GreenPlum(并行装载)时报错:Data write error - connection disables
原因:
gpdfist不支持放置路径有空格
解决方案:
放置文件的路径下有空格,换个文件夹放置,并重启gpfdist进程
3. SQL脚本编辑
3.1 节点中直接使用call 存储过程不生效
原因:
存储过程没有指定数据库模式,jdbc方式没有识别
解决方案:
除Mysql数据库外,其他数据库的存储过程、数据表调用时,建议均增加模式名:call 模式名.存储过程名
3.2 sql脚本节点运行后,任务日志界面报错:jeva.sql.sQLException: Incorrect string value: "xE7\x8E\x8B\xE5\xA9\x7...' for column 'user_ name' at row 1
原因:
一节点使用自动建表创建目标表A,二节点使用手动建表语法创建目标表B,三节点将目标表A的数据进行汇总插入到目标表B,报错的原因是自动创建的目标表编码格式和手动创建表的编码格式不同,如下图:
解决方案:
手动创建表时,指定目标表编码格式和自动创建表格式相同
CREATE TABLE IF NOT EXISTS `test1234` (
`user_name` varchar(255) DEFAULT NULL,
`numbers` varchar(255) DEFAULT NULL
)charset=utf8mb4
3.3 sql脚本节点运行后,任务日志界面报错:Code:[DatasourceError. 008], Description:[Cached table data has been removed].Code:[DICommon-20], Describe:[Shutdown command received.]
原因:
【sql脚本】先删除数据库前两天的数据,【数据同步】把excel的数据同步到数据库,预览正常且数据量不大,但数据计算有点大,预览时间超过六十秒
解决方案:
如果超过60s,会自动清除服务器数据集对象
4. 任务运行编辑
4.1 所有任务均无法执行,报错无法执行cloudpayorder
原因:
Finedb中存在两条一样的数据
解决方案:
SELECT * FROM "fine_dp_conf_entity_x"
where value_class = 'WorkAttributeEntity' and entity_value like '%%'
先看fanruan.log里面的报错信息,定位到错误信息:
打开finedb,找到fine_dp_conf_entity_x
执行上述sql语句,找到日志里的圈起来的dp文件。
删除其中一个文件即可
5. FDL启动编辑
5.1 报错:数据平台启动未成功,请稍等
原因:
查看fanruan.log日志,报错未知的名称或服务
解决方案:
参考:https://blog.csdn.net/M983373615/article/details/103195151,修改/etc/hosts 成功安装
原因2:
日志无相关报错,但是缺少jar包:fine-bi-engine-third-5.1.jar,新增即可。
解决方案:
jar包下载见帮助文档:FineDataLink集成部署-https://help.fanruan.com/finedatalink/doc-view-44.html
原因3:
FR版本和FDL版本不匹配,报错Data Platform start failed,fine-data-prep-11.0.jar:?
fine-data-prep-11.0.jar还是插件版本的FDL,属于很久之前的版本,而FR已经是最新的版本,两者之间不匹配,查看catalina.out日志报错如下:
解决方案:
升级FDL版本,参考帮助文档即可,插件版FDL需要先删除旧jar包[fine-data-prep-11.0.jar],再放入新jar包,注意备份。
5.2 启动报错:检测到1项配置异常,数据库连接异常
原因:
一般是集成版本FDL会出现该问题,主要是FR的内置库不能多线程连接,有其他应用正在使用内置库,导致报错。
解决方案:
切换为外置库,或者删除db.lck。FR安装目录\webapps\webroot\WEB-INF\embed\finedb 下的 db.lck 文件删除。
注:该方法在运行一次后仍会报错,需要反复删除 db.lck 文件。
5.3 Linux环境FDL启动报错
原因:
FDL安装包默认通过GUI图形化页面启动,但是在linux环境下是没有图形化页面的,所以报错 ,在启动时添加 -c命令,使启动策略调整成通过控制台的方式。
解决方案:
报错文档:https://stackoverflow.com/questions/21131855/could-not-initialize-class-sun-awt-x11graphicsenvironment-on-solaris,操作方法:./XXX.sh -c
5.4 使用sh安装后,linux安装./FineDataLink命令无法启动
产生原因:
linux环境语言不对
解决方案:
linux语言LANG改为zh_CN.UTF-8,改好后重连一下shell再启动FDL
5.5 使用sh命令无法启动,报错Unpacking JRE
解决方案:
yum install -y fontconfig yum install -y urw-fonts 安装一下字体,检查看下路径下面有没有残留,有的话删掉,重新部署下可以了
6. 参数赋值编辑
6.1 参数赋值下游节点报错:SQL执行失败
原因:
参数赋值中选择“文本型分隔”后,在下游的数据同步节点中引用时,加了引号“”
解决方案:
如果参数赋值选择了数值型参数,则后续传递的参数,在引用中需要加引号;如果选择了文本型分隔,则后续传递的参数,不需要加引号。具体操作如下图所示:
7. 数据连接编辑
7.1 GPload数据连接报错“检测gptdist环境失败”
原因:
在上传gpfdist文件时,先解压再上传至linux服务器。
解决方案:
在上传该文件时,需要先把压缩包上传到linux服务器,再进行解压,即可解决该问题。
8. 消息通知编辑
8.1 企业微信消息通知
运行时报错:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
产生原因及解决方案:
关掉了外网访问,内网IP与外网不通,导致消息通知时报错,开启外网访问就好。
9. 数据管道编辑
9.1 管道运行中报错:Exception during get all topics from broker
ERROR Exception when realtime job run - com.fr.dp.exception.FineDPException: exception during get all topics from broker.
原因:
kafka未启动
解决方案:
检查传输队列的测试连接可不可以成功,重启Kafka
9.2 kafka测试连接失败
解决方案:
Kafka测试连接失败,把meta.properties. 这个文件删了启起来了
10. 外接数据库编辑
10.1 配置外置数据库MySQL5.7.26提示数据库连接中,点击测试连接报错
原因:
数据库账号的权限不足,无法自动建表
解决方案:
配置外接数据库的地方没有报错,在测试连接的地方有个报错,是因为MySQL账号权限不足,无法自动建表