繁体   English   中英

如何使用 docker-compose.yaml 和 Z399BD1EE587245ECAC6F39BEAA986 数据源启动 WSO2 APIM 4.1.0

[英]How start a WSO2 APIM 4.1.0 using docker-compose.yaml and PostgreSQL as datasource

使用 postgresql 部署 WSO2 时出错。 我在https://apim.docs.wso2.com/en/latest/install-and-setup/setup/setting-up-databases/changeing-default-databases/changeing-to-postgresql/中找不到任何内容

我需要使用 PostgreSQL 作为 WSO2 APIM 4.1.0 的数据源。 当我尝试使用 docker 容器启动 WSO2 时,我收到此日志错误:

    [2022-08-07 08:46:15,496] ERROR - Activator Cannot start User Manager Core bundle
wso2_apim      | org.wso2.carbon.user.core.UserStoreException: Cannot initialize the realm.
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:286) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:102) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealmService.<init>(DefaultRealmService.java:115) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.internal.Activator.startDeploy(Activator.java:72) ~[?:?]
wso2_apim      |        at org.wso2.carbon.user.core.internal.BundleCheckActivator.start(BundleCheckActivator.java:61) ~[?:?]
wso2_apim      |        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:842) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at java.security.AccessController.doPrivileged(Native Method) ~[?:?]
wso2_apim      |        at org.eclipse.osgi.internal.framework.BundleContextImpl.startActivator(BundleContextImpl.java:834) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.internal.framework.BundleContextImpl.start(BundleContextImpl.java:791) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.internal.framework.EquinoxBundle.startWorker0(EquinoxBundle.java:1013) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.startWorker(EquinoxBundle.java:365) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.container.Module.doStart(Module.java:598) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.container.Module.start(Module.java:462) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$1.run(ModuleContainer.java:1820) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$2$1.execute(EquinoxContainerAdaptor.java:150) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1813) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1770) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1735) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1661) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      |        at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345) ~[org.eclipse.osgi_3.14.0.v20190517-1309.jar:?]
wso2_apim      | Caused by: org.wso2.carbon.user.core.UserStoreException: nullType class java.lang.reflect.InvocationTargetException
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:325) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:136) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        ... 22 more
wso2_apim      | Caused by: org.wso2.carbon.user.core.UserStoreException: nullType class java.lang.reflect.InvocationTargetException
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:404) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:136) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        ... 22 more
wso2_apim      | Caused by: java.lang.reflect.InvocationTargetException
wso2_apim      |        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
wso2_apim      |        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
wso2_apim      |        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
wso2_apim      |        at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:358) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:136) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        ... 22 more
wso2_apim      | Caused by: org.wso2.carbon.user.core.UserStoreException: DB error occurred while persisting domain : PRIMARY & tenant id : -1234
wso2_apim      |        at org.wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:931) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9083) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:320) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:262) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:129) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
wso2_apim      |        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
wso2_apim      |        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
wso2_apim      |        at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:358) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:136) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        ... 22 more
wso2_apim      | Caused by: org.postgresql.util.PSQLException: Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
wso2_apim      |        at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:303) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:223) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.Driver.makeConnection(Driver.java:465) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.Driver.connect(Driver.java:264) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:347) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1067) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:911) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9083) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:320) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:262) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:129) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
wso2_apim      |        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
wso2_apim      |        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
wso2_apim      |        at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:358) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:136) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        ... 22 more
wso2_apim      | Caused by: java.net.ConnectException: Connection refused (Connection refused)
wso2_apim      |        at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:?]
wso2_apim      |        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:412) ~[?:?]
wso2_apim      |        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:255) ~[?:?]
wso2_apim      |        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:237) ~[?:?]
wso2_apim      |        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:?]
wso2_apim      |        at java.net.Socket.connect(Socket.java:609) ~[?:?]
wso2_apim      |        at org.postgresql.core.PGStream.createSocket(PGStream.java:231) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.core.PGStream.<init>(PGStream.java:95) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:98) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:213) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:51) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:223) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.Driver.makeConnection(Driver.java:465) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.postgresql.Driver.connect(Driver.java:264) ~[postgresql-42.2.20.jar:42.2.20]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:347) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:228) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:769) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:697) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:198) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:134) ~[jdbc-pool_9.0.58.wso2v1.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.util.DatabaseUtil.getDBConnection(DatabaseUtil.java:1067) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.util.UserCoreUtil.persistDomain(UserCoreUtil.java:911) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.AbstractUserStoreManager.persistDomain(AbstractUserStoreManager.java:9083) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:320) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.<init>(JDBCUserStoreManager.java:262) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.jdbc.UniqueIDJDBCUserStoreManager.<init>(UniqueIDJDBCUserStoreManager.java:129) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
wso2_apim      |        at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]
wso2_apim      |        at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]
wso2_apim      |        at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.createObjectWithOptions(DefaultRealm.java:358) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.initializeObjects(DefaultRealm.java:231) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealm.init(DefaultRealm.java:136) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        at org.wso2.carbon.user.core.common.DefaultRealmService.initializeRealm(DefaultRealmService.java:276) ~[org.wso2.carbon.user.core_4.6.3.jar:?]
wso2_apim      |        ... 22 more

  • 我尝试使用 MySQL 并工作 100%,但使用 PostgreSQL 根本不起作用。
  • 我可以使用 DBeaver 连接 Postgres;
  • JDBC 驱动程序正在工作;

我尝试将 Postgres 版本更改为 9.6、10、14、14.4; 我尝试更改 JDBC 驱动程序版本...我尝试更改 pg_hba.conf; 我尝试更改 Postgres 数据库名称、密码;

我的部署.toml:

[user_store]
type = "database_unique_id"

#POSTGRES
[database.shared_db]
type = "postgre"
url = "jdbc:postgresql://localhost:5432/postgres"
username = "wso2carbon"
password = "wso2carbon"
driver = "org.postgresql.Driver"
validationQuery = "SELECT 1"
[database.shared_db.pool_options]
maxActive = 10000
maxWait = 10000000
validationInterval = 1000000

[database.apim_db]
type = "postgre"
url = "jdbc:postgresql://localhost:5432/postgres"
username = "wso2carbon"
password = "wso2carbon"
driver = "org.postgresql.Driver"
validationQuery = "SELECT 1"
[database.apim_db.pool_options]
maxActive = 10000
maxWait = 10000000
validationInterval = 1000000

预期结果是使用 PostgreSQL 作为数据源启动 WSO2 APIM 4.1.0 且没有错误。

默认情况下,Compose 会为您的应用程序设置一个网络。 服务的每个容器都加入默认网络,并且可以被该网络上的其他容器访问,并且可以通过与容器名称相同的主机名被它们发现。

不要使用jdbc:postgresql://localhost:5432/postgres作为 DB url,而是尝试使用您为 postgre 实例提供的服务名称。

For eg: If you have given db as the service name in the docker-compose.yaml, then the DB url would be jdbc:postgresql://db:5432/postgres

[1] - https://docs.docker.com/compose/networking/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM