几天以来,我一直在搜索可以解释正在发生的事情的信息,但最终不知道正在发生什么。
同时获得了MariaDB 10.0.32版和Pentaho Data Integration 8.1。(以后将提供PDI)。
MariaDB用作PDI存储库,我可以无错误地连接,当我让它打开几个小时后出现问题,所以我得到了错误:
> ERROR executing query (conn:50787) Could not send query: Connection reset by peer: socket write error 2018-09-05 10:04:37.714 ERROR
> <Thread-104> [] org.pentaho.di.core.exception.KettleException: An
> error occured loading the directory tree from the repository
>
> ERROR executing query (conn:50787) 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:817) 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:817) 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: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 (conn:50787) 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)
> ... 16 more Caused by: java.sql.SQLNonTransientConnectionException:
> (conn:50787) 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.pentaho.di.core.database.Database.openQuery(Database.java:1811)
> ... 23 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)
> ... 28 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)
> ... 29 more
这是我的Repositories.XML示例:
> <?xml version="1.0" encoding="UTF-8"?>
> <repositories> <connection>
> <name>DESA</name>
> <server>SERVER1</server>
> <type>MARIADB</type>
> <access>Native</access>
> <database>DBNAME1</database>
> <port>3306</port>
> <username>UNAME</username>
> <password>Encrypted PWD</password>
> <servername/>
> <data_tablespace/>
> <index_tablespace/>
> <attributes>
> <attribute><code>FORCE_IDENTIFIERS_TO_LOWERCASE</code><attribute>N</attribute></attribute>
> <attribute><code>FORCE_IDENTIFIERS_TO_UPPERCASE</code><attribute>N</attribute></attribute>
> <attribute><code>INITIAL_POOL_SIZE</code><attribute>1</attribute></attribute>
> <attribute><code>IS_CLUSTERED</code><attribute>N</attribute></attribute>
> <attribute><code>MAXIMUM_POOL_SIZE</code><attribute>2</attribute></attribute>
> <attribute><code>POOLING_maxIdle</code><attribute>2</attribute></attribute>
> <attribute><code>POOLING_testOnBorrow</code><attribute>true</attribute></attribute>
> <attribute><code>POOLING_testOnReturn</code><attribute>true</attribute></attribute>
> <attribute><code>POOLING_testWhileIdle</code><attribute>true</attribute></attribute>
> <attribute><code>POOLING_timeBetweenEvictionRunsMillis</code><attribute>30000</attribute></attribute>
> <attribute><code>POOLING_validationQuery</code><attribute>SELECT 1 AS dbcp_connection_test;</attribute></attribute>
> <attribute><code>PORT_NUMBER</code><attribute>3306</attribute></attribute>
> <attribute><code>PREFERRED_SCHEMA_NAME</code><attribute>pdi</attribute></attribute>
> <attribute><code>PRESERVE_RESERVED_WORD_CASE</code><attribute>Y</attribute></attribute>
> <attribute><code>QUOTE_ALL_FIELDS</code><attribute>N</attribute></attribute>
> <attribute><code>SUPPORTS_BOOLEAN_DATA_TYPE</code><attribute>Y</attribute></attribute>
> <attribute><code>SUPPORTS_TIMESTAMP_DATA_TYPE</code><attribute>Y</attribute></attribute>
> <attribute><code>USE_POOLING</code><attribute>Y</attribute></attribute>
> </attributes> </connection>
> <name>DESARROLLO</name>
> <description>Database repository Desarrollo</description>
> <is_default>true</is_default>
> <connection>DESA</connection> </repository> </repositories>
我正在使用MariaDB jdbc“ mariadb-java-client-2.1.0.jar”。
我试图在MariaDB my.cnf上修改wait_timeout,但没有成功。
有人可以帮助我理解为什么我得到那些套接字写入错误以及如何解决该错误?
非常感谢。