首页 > 解决方案 > Pentaho MySQL 存储库连接错误 (conn:4584)

问题描述

我将 Carte Server V.8.1 配置为在专用服务器中启用自动任务调度程序。此 Carte 已连接到 MariaDB 存储库,并且在启动服务器超过 24 小时后遇到连接套接字错误。

有人知道是否有任何文件可以在 JDBC 中为 MariaDB 配置 MySQL 超时?

PDI.log 文件如下:

2018-10-04 08:01:02.569 INFO  <Thread-906> []  Starting entry [EXTRAE SEMANA CAMBIOS]
2018-10-04 08:01:02.685 INFO  <Thread-906> []  exec(1, 0, EXTRAE SEMANA CAMBIOS.0)
2018-10-04 08:01:02.685 INFO  <Thread-906> []  Starting job entry
2018-10-04 08:01:02.685 INFO  <Thread-906> []  Opening transformation: [null] in directory [/CONTROL CAMBIOS]
2018-10-04 08:01:02.686 INFO  <Thread-906> []  Loading transformation from repository [EXTRAE SEMANA CAMBIOS] in directory [/CONTROL CAMBIOS]
2018-10-04 08:01:02.725 ERROR <Thread-906> []  Unable to run job CONTROL CAMBIOS. The EXTRAE SEMANA CAMBIOS has an error. An error occured loading the directory tree from the repository

ERROR executing query
(conn:4584) Could not send query: Connection reset by peer: socket write error
2018-10-04 08:01:02.726 ERROR <Thread-906> []  org.pentaho.di.core.exception.KettleException: 
An error occured loading the directory tree from the repository

ERROR executing query
(conn:4584) Could not send query: Connection reset by peer: socket write error


    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryDirectoryDelegate.loadRepositoryDirectoryTree(KettleDatabaseRepositoryDirectoryDelegate.java:108)
    at org.pentaho.di.repository.kdr.KettleDatabaseRepository.loadRepositoryDirectoryTree(KettleDatabaseRepository.java:608)
    at org.pentaho.di.repository.kdr.KettleDatabaseRepository.findDirectory(KettleDatabaseRepository.java:620)
    at org.pentaho.di.job.entries.trans.JobEntryTrans.getTransMeta(JobEntryTrans.java:1324)
    at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:704)
    at org.pentaho.di.job.Job.execute(Job.java:676)
    at org.pentaho.di.job.Job.execute(Job.java:817)
    at org.pentaho.di.job.Job.execute(Job.java:493)
    at org.pentaho.di.job.Job.run(Job.java:380)
Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
ERROR executing query
(conn:4584) Could not send query: Connection reset by peer: socket write error

    at org.pentaho.di.core.database.Database.openQuery(Database.java:1823)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate$6.call(KettleDatabaseRepositoryConnectionDelegate.java:1599)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate$6.call(KettleDatabaseRepositoryConnectionDelegate.java:1597)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.callRead(KettleDatabaseRepositoryConnectionDelegate.java:1992)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.getIDs(KettleDatabaseRepositoryConnectionDelegate.java:1597)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryDirectoryDelegate.getSubDirectoryIDs(KettleDatabaseRepositoryDirectoryDelegate.java:290)
    at org.pentaho.di.repository.kdr.KettleDatabaseRepository.getSubDirectoryIDs(KettleDatabaseRepository.java:684)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryDirectoryDelegate.loadRepositoryDirectoryTree(KettleDatabaseRepositoryDirectoryDelegate.java:98)
    ... 8 more
Caused by: java.sql.SQLNonTransientConnectionException: (conn:4584) Could not send query: Connection reset by peer: socket write error
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:156)
    at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:118)
    at org.mariadb.jdbc.MariaDbStatement.executeExceptionEpilogue(MariaDbStatement.java:250)
    at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeInternal(MariaDbPreparedStatementClient.java:224)
    at org.mariadb.jdbc.MariaDbPreparedStatementClient.execute(MariaDbPreparedStatementClient.java:159)
    at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeQuery(MariaDbPreparedStatementClient.java:173)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.pentaho.di.core.database.Database.openQuery(Database.java:1811)
    ... 15 more
Caused by: java.sql.SQLException: Could not send query: Connection reset by peer: socket write error
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.handleIoException(AbstractQueryProtocol.java:1726)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:223)
    at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeInternal(MariaDbPreparedStatementClient.java:218)
    ... 21 more
Caused by: java.net.SocketException: Connection reset by peer: socket write error
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
    at org.mariadb.jdbc.internal.io.output.StandardPacketOutputStream.flushBuffer(StandardPacketOutputStream.java:107)
    at org.mariadb.jdbc.internal.io.output.AbstractPacketOutputStream.flush(AbstractPacketOutputStream.java:175)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:216)
    ... 22 more

2018-10-04 08:01:02.727 INFO  <Thread-906> []  Starting entry [INFORME CAMBIOS EXTRAE MAQUINAS DESCRIPCION]
2018-10-04 08:01:02.727 INFO  <Thread-906> []  exec(2, 0, INFORME CAMBIOS EXTRAE MAQUINAS DESCRIPCION.0)
2018-10-04 08:01:02.727 INFO  <Thread-906> []  Starting job entry
2018-10-04 08:01:02.727 INFO  <Thread-906> []  Opening transformation: [null] in directory [/CONTROL CAMBIOS]
2018-10-04 08:01:02.727 INFO  <Thread-906> []  Loading transformation from repository [INFORME CAMBIOS EXTRAE MAQUINAS DESCRIPCION] in directory [/CONTROL CAMBIOS]
2018-10-04 08:01:02.728 ERROR <Thread-906> []  Unable to run job CONTROL CAMBIOS. The INFORME CAMBIOS EXTRAE MAQUINAS DESCRIPCION has an error. An error occured loading the directory tree from the repository

ERROR executing query
execute() is called on closed statement
2018-10-04 08:01:02.728 ERROR <Thread-906> []  org.pentaho.di.core.exception.KettleException: 
An error occured loading the directory tree from the repository

ERROR executing query
execute() is called on closed statement


    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryDirectoryDelegate.loadRepositoryDirectoryTree(KettleDatabaseRepositoryDirectoryDelegate.java:108)
    at org.pentaho.di.repository.kdr.KettleDatabaseRepository.loadRepositoryDirectoryTree(KettleDatabaseRepository.java:608)
    at org.pentaho.di.repository.kdr.KettleDatabaseRepository.findDirectory(KettleDatabaseRepository.java:620)
    at org.pentaho.di.job.entries.trans.JobEntryTrans.getTransMeta(JobEntryTrans.java:1324)
    at org.pentaho.di.job.entries.trans.JobEntryTrans.execute(JobEntryTrans.java:704)
    at org.pentaho.di.job.Job.execute(Job.java:676)
    at org.pentaho.di.job.Job.execute(Job.java:817)
    at org.pentaho.di.job.Job.execute(Job.java:817)
    at org.pentaho.di.job.Job.execute(Job.java:493)
    at org.pentaho.di.job.Job.run(Job.java:380)
Caused by: org.pentaho.di.core.exception.KettleDatabaseException: 
ERROR executing query
execute() is called on closed statement

    at org.pentaho.di.core.database.Database.openQuery(Database.java:1823)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate$6.call(KettleDatabaseRepositoryConnectionDelegate.java:1599)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate$6.call(KettleDatabaseRepositoryConnectionDelegate.java:1597)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.callRead(KettleDatabaseRepositoryConnectionDelegate.java:1992)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryConnectionDelegate.getIDs(KettleDatabaseRepositoryConnectionDelegate.java:1597)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryDirectoryDelegate.getSubDirectoryIDs(KettleDatabaseRepositoryDirectoryDelegate.java:290)
    at org.pentaho.di.repository.kdr.KettleDatabaseRepository.getSubDirectoryIDs(KettleDatabaseRepository.java:684)
    at org.pentaho.di.repository.kdr.delegates.KettleDatabaseRepositoryDirectoryDelegate.loadRepositoryDirectoryTree(KettleDatabaseRepositoryDirectoryDelegate.java:98)
    ... 9 more
Caused by: java.sql.SQLException: execute() is called on closed statement
    at org.mariadb.jdbc.MariaDbStatement.executeQueryPrologue(MariaDbStatement.java:203)
    at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeInternal(MariaDbPreparedStatementClient.java:211)
    at org.mariadb.jdbc.MariaDbPreparedStatementClient.execute(MariaDbPreparedStatementClient.java:159)
    at org.mariadb.jdbc.MariaDbPreparedStatementClient.executeQuery(MariaDbPreparedStatementClient.java:173)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
    at org.pentaho.di.core.database.Database.openQuery(Database.java:1811)
    ... 16 more

2018-10-04 08:01:02.729 INFO  <Thread-906> []  Starting entry [COPIAR FICHEROS A REMOTO]
2018-10-04 08:01:02.729 INFO  <Thread-906> []  exec(3, 0, COPIAR FICHEROS A REMOTO.0)
2018-10-04 08:01:02.729 INFO  <Thread-906> []  Starting job entry
2018-10-04 08:01:02.730 ERROR <Thread-906> []  We can not find folder [\\tsclient\C\InformesSpoon\CAMBIOS\] !
2018-10-04 08:01:02.732 ERROR <Thread-906> []  We can not create folder [\\tsclient\C\InformesSpoon\CAMBIOS\]. Exception : org.apache.commons.vfs2.FileSystemException: Could not create folder "file:////tsclient/C/". 
2018-10-04 08:01:02.732 INFO  <Thread-906> []  Finished job entry [COPIAR FICHEROS A REMOTO] (result=[false])
2018-10-04 08:01:02.732 INFO  <Thread-906> []  Finished job entry [INFORME CAMBIOS EXTRAE MAQUINAS DESCRIPCION] (result=[false])
2018-10-04 08:01:02.732 INFO  <Thread-906> []  Finished job entry [EXTRAE SEMANA CAMBIOS] (result=[false])
2018-10-04 08:01:02.732 INFO  <Thread-906> []  exec(0, 0, START.0)
2018-10-04 08:01:02.732 INFO  <Thread-906> []  Starting job entry
2018-10-04 08:01:02.732 INFO  <Thread-906> []  CONTROL CAMBIOS
2018-10-04 10:14:43.171 WARN  <Thread-906> []  Job execution finished

提前致谢。

标签: mysqlpentaho-data-integration

解决方案


看来,错误是因为文件夹的名称有空格,甚至 trans/job 名称也有空格。使用 Spoon 并连接到您的 repo,重命名您的 trans/job 并不带空格,然后移动到另一个不带空格的文件夹。


推荐阅读