历史版本55 :数据连接问题排查 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

SQL server编辑

数据连接连不上,报错

The server selected protocol version TLS10 is not accepted by client preferences [TLS12]

问题描述:

驱动程序无法使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。

The server selected protocol version TLS10 is not accepted by client preferences [TLS12]

1712908470451029.png

解决方案:

  • 排查是否是驱动版本不匹配:根据数据库版本,在数据库官网查找对应的驱动版本区间,如果驱动版本在区间里,则排查匹配问题;驱动版本如何查看请自行百度。

  • 排查是否是jdk版本有问题,更换jdk版本后可以或更换服务器。

  • 排查是否有Java环境,并修改FDL的jre下的文件。详情参见:The server selected protocol version TLS10 is not accepted by client preferences [TLS12]

字段带括号,预览报错:数据连接异常 - DataBase[sqlserver2016] get data failed!

问题描述:

字段带括号,预览报错:数据连接异常 - DataBase[sqlserver2016] get data failed! '交回数量' is not a recognized built-in function name.

1712912304462380.png

解决方案:

字段用[]包裹起来。

配置 SQLServer 数据连接失败

问题描述

配置数据连接失败,提示:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

原因分析

JDK 新版本增加加密套件导致。

解决方案

打开%FDL_HOME%\jre\lib\security\java.security文件,将3DES_EDE_CBC、 TLS1、TLS1.1、TLS1.2 删除或者注释掉,保存重启 FineDataLink 即可正常连接。如下图所示:

59.png

MySQL编辑

阿里云MySQL数据库连接报错

问题描述:

阿里云 MySQL 数据库连接报错:

com.fr.third.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 10003, active 0, maxActive 50, creating 1, createElapseMillis 20014 at com.fr.third.alibaba.druid.pool.

原因:

不在阿里云白名单内

解决方案:

不在阿里云白名单内,需要将FDL服务器加入白名单内

mysql数据源类型下没有找到建好的数据连接

问题描述:

实际已经建好数据连接,驱动为 org.gjt.mm.mysql.Driver

22.png

使用时没有找到对应的MySQL连接:

23.png

原因分析:

MySQL这个驱动还不支持

解决方案:

目前MySQL支持的驱动是这两个:com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver

FDL 中数据无法被清空

问题描述:

数据输出到 MySQL 中,写入方式选择「清空目标表,再写入数据」,但执行任务后发现每次并不会清空目标表。

原因分析:

MySQL 数据连接中的用户,没有 drop 权限,需要赋予他 drop 权限。

数据连接报错Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

问题描述:

mysql 升级了 TLS 协议之后,数据连接报错Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure。ssh连接的时候握手失败

解决方案:

MySQL 数据连接的 URL 中,拼接:?useSSL=false&allowPublicKeyRetrieval=true

数据连接报错:Caused by: javax.net.ssl.SSLException: Received fatal alert: protocol_version

问题描述:

MySQL 数据连接报错:Caused by: javax.net.ssl.SSLException: Received fatal alert: protocol_version

解决方案:

数据连接 URL 后加上?useSSL=false&allowPublicKeyRetrieval=true

Oracle编辑

Oracle数据连接报错:ora-12505:TNS:监听程序当前无法识别连接描述符中所给出的SID

问题描述:

数据连接报错 ora-12505:TNS:监听程序当前无法识别连接描述符中所给出的SID

24.png

原因:

SID和数据库名称搞混了

解决方案:

1712908601489027.png

数据预览无数据,日志报错ORA-00942表或视图不存在

问题描述:

数据预览无数据,日志报错 ORA-00942表或视图不存在

26.png

原因分析:

查询的SQL没有区分模式名和表名的大小写。Oracle对大小写敏感。

解决方案:

修改表名和模式名的大小写。

GreenPlum编辑

数据连接报错“检测gptdist环境失败”

问题描述:

27.png

解决方案:

在上传 gpfdist 文件时,需要先把压缩包上传到linux服务器,再进行解压,即可解决该问题。详情参见:配置Greenplum(并行装载)数据源

SQL 语句只在 FDL 中执行失败

问题描述:

SQL 语句在 GreenPlum 数据库中执行成功,在 FDL 中执行失败。

1712908725507914.jpg

解决方案:

在 SQL 语句中加上模式即可。

gp 数据同步过程卡住

问题描述:

来源端和写入端都是 Greenplum,数据同步时卡住,抽取了 3 亿数据后。读取和写入的行都变成了 0。

原因分析:

网络波动导致的读取卡住。

解决方案:

对于读取端的 Greenplum 数据连接处,数据连接的「数据连接URL」后加上参数 socketTimeout,jdbc:postgresql://hostname:port/database?socketTimeout=1800

http response code 404 from gpfdist

问题描述:

数据去向为 Greenplum 数据库,任务运行时报错:ERROR: http response code 404 from gpfdist (gpfdist://192.168.60.197:15500/fdda13be3f2f01e7_BLANK_CHANCHU.csv): HTTP/1.0 404 file not found  (seg33 slice1 192.168.60.177:40001 pid=27049)

原因分析:

重启 FDL 时,没有杀死 gpfdist 进程,导致残留占用端口,新的任务无法执行。

解决方案:

kill -9 旧的 gpfdist 进程,重新启动定时任务,生成新的 gpfdist 服务进程。

error when connecting to gpidist

问题描述:

数据去向为 Greenplum 数据库,任务运行时报错:error when connecting to gpidist htp:/10.145 1.74:15500/491b2d5143c97c36 ods oa worklow curentoperator.csy, quit aftei
11 tries (seg10 slice1 10.145.1.79:40002 pid=46296)

原因分析:

gp 节点异常,无法访问到 FDL 服务器的 15500 端口。

解决方案:

检查 gp 节点,查看服务器是否能 telnet FDL 的 ip、端口。

Presto编辑

Presto数据连接报错 SQL执行失败

问题描述:

报错:java.sql.SQLException: Connection is in auto-commit mode - java.sql.SQLException: Connection is in auto-commit mode

原因分析:

驱动版本问题

解决方案:

0.273.2的Prosto至少要换成0.169的驱动

数据连接处连接成功,但数据同步中测试连接失败

问题描述:

「管理系统>数据连接>数据连接管理」中,presto 数据连接成功;但在「数据同步」节点中,数据连接失败。

原因分析:

产品逻辑问题:

「管理系统>数据连接>数据连接管理」中,若获取不到模式,模式将为空,提示连接成功;但「数据同步」节点中,获取不到模式将报错。

PostgreSQL编辑

navicat连接Postgresql,delete\drop\truncate都无法正常删除表

问题描述:

1712908793796768.png

原因:

有其他事务占用了这个表,所以无法对这个表进行删除操作。

解决方案:

查目前所有进程:select pid,query from pg_stat_activity; 结果看到第二个pid涉及的表跟无法删除的表一致。

1712908819622445.png

杀掉对应的pid:select pg_terminate_backend(pid),query from pg_stat_activity where query ~* 'order_table' and pid <> pg_backend_pid();即可成功删除表。

1712908845331500.png

Handler dispatch failed

问题描述:

连接 sap 报错 Handler dispatch failed: nested exception is java.lang.NoClassDefFoundError: com/sap/conn/ico/CoException

解决方案:

放置驱动之后没有重启,重启 FineDataLink 服务器即可。

Doris编辑

An error was encountered during data transfer - Connection reset

问题描述:

数据同步节点中,输出数据时报错:Exception when job run com.fr.dp.exception.FineDPException: An error was encountered during data transfer - Connection reset - Connection reset

1713159871644320.png

原因分析:

Doris 数据连接中,FE 节点地址填错了,此处应该输入 FE 节点的 ip 和 FE 节点的 http_port。

Data write error

问题描述:

定时任务目标端为 Doris,运行报错:Doris 事务中仅支持 INSERT INTO SELECT, UPDATE, DELETE 语句-errCode = 2, detailMessage = This is in a transaction, only insert, update, delete, commit, rollback is acceptable。

解决方案:

开启「事务控制」之前,需要在 Doris 数据连接 URL 中添加参数 useLocalSessionState=true。

例如:jdbc:mysql://192.168.5.199:9099/mysql?useLocalSessionState=true

9.png

SSH连接失败-timeout

问题描述:

SSH协议数据连接 失败,报错:SSH连接失败-timeout。如下图所示:

1713160269547647.png

原因分析:

FDL 所在服务器 telnet 不通目标服务器 22 端口,需要排查防火墙、黑白名单等原因。

SSH连接失败:Auth fail

问题描述:

配置 SSH 数据连接到本地,使用命令 ssh root@ip 可以连接成功;使用 FDL 连接,用 localhost 就报认证失败,用 ip 就连接超时。

解决方案:

注:需在 FDL 服务器上使用 ssh root@ip 去连接判断下是否是能连接成功,若连接失败,可检查下密码是否正确;若密码正确,再按照下面内容进行排查。

可能有以下2条原因:

1)您所使用的用户不能进行远程登录,比如 Centos6 ,默认 root 不能进行远程登录。

2)服务器的配置文件 /etc/ssh/sshd_config 中 GSSAPIAuthentication 的值是 yes。

针对以上这2条原因,可以尝试用如下方法来解决:

1)在 /etc/ssh/sshd_config 文件中,PermitRootLogin yes 把这行的注释取消掉,也就是允许 root 远程登录。

2)在 /etc/ssh/sshd_config 中 GSSAPIAuthentication 修改为 no, 或者在代码中增加
session.setConfig("userauth.gssapi-with-mic", "no"),同时不要忘了 session.setConfig("StrictHostKeyChecking", "no");

3)为了加快 SSH 的登录速度,可以把 /etc/ssh/sshd_config 文件中 UseDNS yes 修改为 no。

4)之后重启 sshd 服务,再次访问速度就会有明显的提升。

SSH 连接失败-verify: false

问题描述:

配置 SSH 数据连接失败,报错:SSH 连接失败-verify: false。

解决方案:

目前平台内置的 JSCH 版本只完全支持 6.x 版本的 OpenSSH,高版本的 OpenSSH 需配置额外的加密方式。

Impala编辑

Impala 连接失败

问题描述:

容器化部署工程中,Impala 连接失败,报错:Unable to obtain Principal Name for authentication。

解决方案:

检查 krb5.conf 配置文件,删除 renew_lifetime 参数后,再重新连接。

Hadoop Hive 编辑

数据连接报错:Permission denied

问题描述:

数据连接报错 org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/":hdfs:supergroup:drwxr-xr-x。

解决方案一:

在FDL服务端的catalina.sh 里面指定新增变量声明:export HADOOP_USER_NAME = hdfs,指定连接 HDFS 的用户为 hdfs;

注:hdfs 可根据实际用户名修改。

1712908886597649.png

解决方案二(不推荐):

在不指定用户的情况下,连接HDFS时默认使用root账号,需要关闭HDFS用户验证,可能会带来安全隐患。因为该方案可让所有用户访问 hdfs,不用进入hdfs用户再执行命令。

注:CDH中没有这个配置,需要手动加进去。

步骤如下:

1)找到 hdfs-site.xml 的 HDFS 服务高级配置代码段(安全阀);
2)dfs.permissions.enabled 的值设置为 false,保存更改,重启 hdfs 。

32.png

hdfs write file error

问题描述:

Hive(HFDS)数据连接失败,日志中报错:hdfs write file error. Caused by: java.lang.UnsupportedOperationException

4.png

原因分析:

数据连接的「HDFS 设置」中,格式为hdfs://ip:port,用户错填为:http://ip:port

数据同步后,Hive数据库数据比来源库多

问题描述:

定时任务中从 kingbaseV8R6 到 Hive2.1 同步数据,发现数据行数变多了,kingbase 源端 87719 行,Hive 目标端 90496 行。并且 kingbase 设置了 id 不允许为空,Hive 里面却出现了空值。

原因分析:

目标表设置了 Hive 格式为 Text,kingbase 的数据中可能有分隔符,导致入库 hdfs 的时候被分割成了新的行。

解决方案:

手动建表语句下面加上格式 SQL,更改存储格式为 ora 。

CREATE TABLE your_table (
  id INT,
  name STRING
)
row format serde 'org.apache.hadoop.hive.ql.io.orc.OrcSerde'
STORED AS INPUTFORMAT
  'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat';

Hive作为写入端清空后写入报错FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Exception while processing

问题描述:

Hive 作为写入端清空后写入报错FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Exception while processing

原因分析:

配置的 HDFS 用户没有对应权限。

解决方案:

更改为有权限的 HDFS 用户。

Hive数据连接报错:No common protection layer between client and server

问题描述:

Hive 数据连接开启 Kerberos 认证,测试连接时报错:No common protection layer between client and server

原因分析:

SASL 安全层配置不正确或不匹配,需确保客户端和服务器都支持相同的 SASL 机制,并且配置文件中的 sasl.qop 参数设置正确。

解决方案:

数据连接 URL增加参数:sasl.qop=auth

示例URL:

jdbc:hive2://192.168.6.140:19023/default;principal=hive/primary.cxfund.com@CGJH.COM;auth=KERBEROS;sasl.qop=auth

Hive 作为目标端时,获取已存在的表报错

问题描述:

Hive 作为目标端时,获取已存在的表报错。

解决方案:

请检查 Hive 的 hive.support.quoted.identifiers 配置,若配置为 none,不支持使用反引号,导致报错,需修改配置参数。

服务器本地目录编辑

无法新建服务器本地目录数据连接

问题描述:

新建数据连接时,找不到服务器本地目录。

解决方案:

服务器本地目录数据连接仅支持「超级管理员」新建。详情请参见:配置服务器本地目录数据连接

ClickHouse编辑

ClickHouse response without column names

若连接时出现报错 ClickHouse response without column names ,用户可以在 URL 后加上后缀:urlcompress=false,如下图所示:

1714440922699994.png

数据同步无法获取主键

问题描述:

clickhouse中已创建主键,数据同步中获取不到主键。

原因分析:

clickhouse数据库的主键和普通的主键不一样。

clickhouse数据库的主键更像一个排序键。只提供了数据的一级索引,但却不是唯一约束。

FineDataLink的主键是为了更新删除同步,如果不是唯一约束,允许重复的话,选中主键的意义不大。

自动建表失败

问题描述:

写入 clickhouse 数据库时,自动建表失败。如下图所示:

75.png

原因分析:

clickhouse 数据库引擎使用的是 MySQL 引擎(MySQL 数据库引擎是不支持建表的),导致功能使用有问题。

解决方案:

Atomic 引擎,才支持写入时自动建表功能。

clickhouse主键更新慢

问题描述:

使用「数据同步」节点写入到 clickhouse 数据库,设置主键冲突覆盖,发现速度只有几十行/s。

原因分析:

clickhouse 是 mpp 数据库,插入很快但是更新会很慢。

解决方案:

使用数据比对提前在 FDL 进行逻辑处理,检查插入的数据量。

join关联之后字段名出现了表的名称

问题描述:

在数据同步过程中,sql写了join语句进行关联,发现预览的字段名变成了表名.字段名。

原因分析:

与 MySQL 数据库不同,clickhouse 使用 join 后,后表如果有前表的字段,就算 select 中对应字段独一无二,也会附加上表名,例如select t2.bit1 from "fdl"."all_type_03" t1 join "fdl"."all_type_03" t2 on t1.bit1 = t2.bit1 的查询结果字段名会是t2.bit1

解决方案:

使用 as 进行字段重命名去掉表名。

TDengine编辑

no taos in java.library.path

问题描述:

FineDataLink 连接 TDengine 时报错,提示:no taos in java.library.path

解决方案:

没有找到本地依赖的本地函数库 taos,请在 FineDataLink 所在系统添加对应的动态链接库。详情请参见:前提条件

Fine+工程编辑

Failed to get token from FineBI

问题描述:

FineDataLink 连接 BI 公共数据时报错,提示:Failed to get token from FineBI

原因分析:

单点登录导致登录接口被重定向,去掉了 username 参数

解决方案:

将xx改为自己实际信息,在浏览器中输入:http://ip:xxx/webroot/decision/login/cross/domain?fine_username=xx&fine_password=xxx&validity=-1&callback=,若能成功访问  FineBI,则会返回相关 token 值。

若访问失败,请禁用 FineBI 工程中的「单点登录插件」后,再重新连接。

StarRocks编辑

写入StarRocks报错:too many filtered rows

问题描述:

定时任务写入 StarRocks 报错:too many filtered rows。

原因分析:

目标表中某个字段为非空主键,对应的来源表字段是非主键允许为空。

解决方案:

删除数据库中目标表,数据写入时,目标表设置为自动建表即可。

SelectDB编辑

Data write error

问题描述:

定时任务目标端为 Doris,运行报错:SelectDB 事务中仅支持 INSERT INTO SELECT, UPDATE, DELETE 语句-errCode = 2, detailMessage = This is in a transaction, only insert, update, delete, commit, rollback is acceptable。

解决方案:

开启「事务控制」之前,需要在 SelectDB 数据连接 URL 中添加参数 useLocalSessionState=true。

例如:jdbc:mysql://192.168.5.199:9099/mysql?useLocalSessionState=true

9.png

Argodb编辑

问题描述:

Argodb 数据连接成功,但 HDFS 认证异常。

原因分析:

kdc 服务器时间跟 fdl 服务器时间时差超过了 5 分钟。

应用数据源编辑

问题描述:

启动工程时若请求应用数据源服务器超过 5s,那么 FDL 就会主动中断,会获取不到应用数据源,INFO 级别日志会打印 :

INFO [standard] Fetched FineApp data sources from cloud cost 5019 ms. 

解决方案:

此时需要通过 /webroot/decision/v10/config/connection/fineapp/refresh 接口手动刷新。

其他编辑

数据连接页面显示异常

问题描述:

数据连接页面显示异常,出现字体排列错乱等问题。

解决方案:

用户所使用的浏览器版本过低,请升级到最新版本。建议用户使用 chrome 或 edge 浏览器,并升级到较新的版本。

测试连接报错:SSH连接失败-timeout:socket is not established

问题描述:

数据连接测试连接失败报错:SSH数据连接失败,报错SSH连接失败-timeout。

33.png

解决方案:

环境因素,FineDataLink 所在服务器 telnet 与数据连接对应的数据库所在服务器端口不通,需要排查防火墙、黑白名单等原因。

数据连接测试成功,但定时任务运行时报错 数据连接创建失败

问题描述:

数据连接测试成功,但定时任务运行时报错 数据连接创建失败,当前数据库创建connection - wait nillis 10006

34.png

原因分析:

数据连接超时

解决方案:

调大数据连接建立时的最大等待时间,详情参见:连接池设置

35.png

数据连接异常,报错表不存在 Table 'xxxt' doesn't exist

问题描述:

1712909020895323.png

原因分析:

可能是数据连接这个用户没有建表权限

解决方案:

检查是否开放了用户相关表的权限。

数据预览报错:get data failed

问题描述:

数据连接异常,报错示例:-XXXX get data failed

原因分析:

写SQL的时候没有选择数据库。

解决方案:

选择数据库。

选择数据连接后,不显示表

问题描述:

数据同步数据去向中,已存在表无内容。

原因分析:

数据连接名称中包含:[],去掉就行。

报错:Communications link failure

问题描述:

TiDB 数据连接报错:

Communications link failure

The last packet successfully received from the serve was 1,165,470 milliseconds ago.The last packet sent successfully to the server was 1,165,470 milliseconds ago

原因分析:

数据连接配置时,「最大等待时间」设置的 0 毫秒,以为 0 毫秒是永不超时的意思。

解决方案:

数据连接设置中,修改「最大等待时间」的值。

JDBC列类型不匹配-No  reader function mapping for java.sql.Types code: 0

问题描述:

测试连接报错:JDBC列类型不匹配-No  reader function mapping for java.sql.Types code: 0

解决方案:

驱动不匹配,需要从帮助文档对应数据连接后者数据源官网下载和数据库匹配的驱动,并上传到 FineDataLink 中。