我得到了mariadb版本10.0.32和pentaho数据集成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
这是my 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”。
我试图修改 wait_timeout
在mariadb my.cnf上没有成功。
为什么会出现这些套接字写入错误?如何修复这些错误?
暂无答案!
目前还没有任何答案,快来回答吧!