运行WSO2分析3.1.0时遇到以下错误
数据库连接很好:可以连接到MYSQL DB,表也存在
Mysql版本: 5.7,sql连接器: 5.1.42
deployment.yaml
#Data source for APIM Analytics
- name: APIM_ANALYTICS_DB
description: Datasource used for APIM Analytics
jndiConfig:
name: jdbc/APIM_ANALYTICS_DB
definition:
type: RDBMS
configuration:
jdbcUrl: 'jdbc:mysql://wso2db:3306/analytics3db?autoReconnect=true&useSSL=false'
username: 'xxxxxxx'
password: 'xxxxxxxxx'
driverClassName: com.mysql.jdbc.Driver
maxPoolSize: 50
idleTimeout: 60000
connectionTestQuery: SELECT 1
validationTimeout: 30000
isAutoCommit: false
尝试了与.47不同的SQL连接器,但仍面临此问题。
2020-10-16 13:21:02,257错误{io.siddhi.core.table.Table} - 'APIMApiVersionUsageSummarySiddhi‘错误。无法初始化表名称'ApiUserPerAppAgg_MONTHS‘的存储,连接到表'ApiUserPerAppAgg_MONTHS’时出现错误,将在'10秒‘后重试。io.siddhi.core.exception.ConnectionUnavailableException:无法在以下位置初始化表名为'ApiUserPerAppAgg_MONTHS‘的存储:位于io.siddhi.extension.store.rdbms.RDBMSEventTable.connect(RDBMSEventTable.java:1237),位于io.siddhi.core.table.Table.connectWithRetry(Table.java:406),位于io.siddhi.core.table.Table$1.run(Table.java:422),位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)由以下原因引起:查找数据库类型时出错: HikariPool-5 -连接不可用,请求在30028ms后超时。at io.siddhi.extension.store.rdbms.util.RDBMSTableUtils.lookupDatabaseInfo(RDBMSTableUtils.java:422) at io.siddhi.extension.store.rdbms.util.RDBMSTableUtils.lookupCurrentQueryConfigurationEntry(RDBMSTableUtils.java:453) at io.siddhi.extension.store.rdbms.RDBMSEventTable.connect(RDBMSEventTable.java:1093) ...还有10个
发布于 2020-10-16 12:31:33
根据日志,似乎没有可用的连接。因此,作为解决方案,您可以增加数据源连接池的大小并进行检查。例如:
maxPoolSize: 100
此外,请确保maxPoolSize
中定义的DB支持最大连接数。如果不是,也在数据库中增加它。
发布于 2021-08-25 02:28:27
在这里,将jndiConfig下的name部分改为如下所示
名称: jdbc/analytics3db
通过改变这一点,我与数据库建立了连接。
- name: APIM_ANALYTICS_DB
description: Datasource used for APIM Analytics
jndiConfig:
name: jdbc/analytics3db
definition:
type: RDBMS
configuration:
jdbcUrl: 'jdbc:mysql://wso2db:3306/analytics3db?autoReconnect=true&useSSL=false'
username: 'xxxxxxx'
password: 'xxxxxxxxx'
driverClassName: com.mysql.jdbc.Driver
maxPoolSize: 50
idleTimeout: 60000
connectionTestQuery: SELECT 1
validationTimeout: 30000
isAutoCommit: false
甚至检查@store的.siddhi文件中是否有如下@store的数据源(type=‘rdbms’,datasource="APIM_ANALYTICS_DB")
https://stackoverflow.com/questions/64385162
复制相似问题