一、kettle资源库总是断开
--报的错误信息如下:
An error occured loading the directory tree from the repository Error comitting connection Communications link failure during commit(). Transaction resolution unknown. |
--mysql解决方案:
其实是数据库问题,数据库执行sql : 第一:调整最大等待时间 SHOW VARIABLES like '%timeout%', 查看数据库设置的超时时间,执行 SET GLOBAL interactive_timeout = 2880000; SET GLOBAL wait_timeout = 2880000; 把数据库的这两个超时时间设大就好了 第二:调整连接数 --查看当前mysql最大连接数限制(未改过默认151) mysql > show variables like 'max_connections'; --设置最大连接数 mysql >set global max_connections =1000 ; mysql > flush privileges; --具体参考文档: -----mysql5.7修改客户端最大连接数 https://betheme.net/news/txtlist_i117205v.html?action=onClick |
具体参考如下:
二、出现错误Communications link failure
---错误如下:
出现错误Communications link failure:The last packet sent successfully to the server was 0 milliseconds ago(翻译:通信链路故障: 上次成功发送到服务器的数据包是0毫秒前) |
原因:Mysql服务器默认的“wait_timeout”是8小时,也就是说一个connection空闲超过8个小时,Mysql将自动断开该connection。这就是造成上面的异常的问题所在。
解决方案:
show global variables like 'wait_timeout%'; |
这时输入指令 1、set global wait_timeout=604800; 2、set global interactive_timeout=604800; flush privileges; |
三、mysql数据抽到orale 类型乱码
--出现问题:
解决方案:增加字段选择。在元数据中增加类型即可。
四、kettle表输入点击确定的时候卡
输入表的数据库中参数配置如下:
1、增加读的操作
useServerPrepStmts:true
cachePrepStmts:true
2、读取缓存,设置过高消耗内存也会高
defaultFetchSize:10000
useCursorFetch:true
3、压缩数据传入,与mysql服务端进行通信时采用压缩
useCompression:true
具体配置参考如下: