【问题标题】:Not able to upgrade to WSO2 APIM 2.1.0 to WSO2 APIM 2.6.0无法升级到 WSO2 APIM 2.1.0 到 WSO2 APIM 2.6.0
【发布时间】:2020-01-14 13:52:12
【问题描述】:

我们将 WSO2 APIM 2.1 与 PostgreSQL 一起使用,使用 docker 容器并导入导出 .war 文件。我尝试通过下载最新版本(3.0)和 api-import-export-3.0.0-m33.war 进行升级,但无法加载导入导出战争。所以我尝试升级到 APIM 2.6.0,因为它可以与 wso2am-2.6.0.zip 和 api-import-export-2.6.0-v2.war 一起使用。将其更改为 postgres db 后,根据 WSO2 文档,我更改了所有配置文件中的密码、信任库和密钥库。但现在我遇到了错误。

ERROR:  relation "idn_oidc_scope" does not exist at character 23
ccc-api-db       | STATEMENT:  SELECT COUNT(ID) FROM IDN_OIDC_SCOPE WHERE TENANT_ID=$1
ccc-apim         | [2020-01-14 10:18:11,832] ERROR - OAuth2ServiceComponent Error while activating OAuth2ServiceComponent.
ccc-apim         | org.wso2.carbon.identity.oauth2.IdentityOAuth2Exception: Error while loading the top scope id for the tenant: -1234
ccc-apim         |  at org.wso2.carbon.identity.openidconnect.dao.ScopeClaimMappingDAOImpl.hasScopesPopulated(ScopeClaimMappingDAOImpl.java:300)
ccc-apim         |  at org.wso2.carbon.identity.oauth2.internal.OAuth2ServiceComponent.activate(OAuth2ServiceComponent.java:98)
ccc-apim         |  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
ccc-apim         |  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
ccc-apim         |  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
ccc-apim         |  at java.lang.reflect.Method.invoke(Method.java:498)

ccc-api-db       | ERROR:  relation "mb_dtx_xid" does not exist at character 45
ccc-api-db       | STATEMENT:  SELECT FORMAT_CODE,BRANCH_ID,GLOBAL_ID FROM MB_DTX_XID
ccc-apim         | [2020-01-14 10:18:43,092] ERROR - ApplicationRegistry org.wso2.andes.kernel.AndesException: Error occurred while recovering DtxBranch 
ccc-apim         | [2020-01-14 10:18:43,093] ERROR - Main Exception during startup. Triggering shutdown 
ccc-apim         | org.wso2.andes.kernel.AndesException: Unable to initialise application registry
ccc-apim         |  at org.wso2.andes.server.Broker.startupImpl(Broker.java:307)
ccc-apim         |  at org.wso2.andes.server.Broker.startup(Broker.java:110)
ccc-apim         |  at org.wso2.andes.server.Main.startBroker(Main.java:217)
ccc-apim         |  at org.wso2.andes.server.Main.execute(Main.java:206)
ccc-apim         |  at org.wso2.andes.server.Main.<init>(Main.java:54)
ccc-apim         |  at org.wso2.andes.server.Main.main(Main.java:47)
ccc-apim         |  at org.wso2.carbon.andes.internal.QpidServiceComponent.startAndesBroker(QpidServiceComponent.java:396)

这些表不在 APIM 2.1.0 中。它似乎是 2.6.0 的一部分。但我不确定这些错误,也不知道租户 -1234。

这方面的任何帮助都会有所帮助。

还请告诉我们APIM 3.0 与哪个版本的导入-导出war 文件兼容?

【问题讨论】:

    标签: wso2 wso2-am


    【解决方案1】:

    MB store db 脚本从 APIM 2.1 更改为 2.6。因此,请确保您遵循此迁移文档https://docs.wso2.com/display/AM260/Upgrading+from+the+Previous+Release#210 中“第 2 步 - 将 WSO2 API-M 2.1.0 升级到 2.6.0”下的第 5 步。它将修复您遇到的以下错误。

    ERROR:  relation "mb_dtx_xid" does not exist at character 45
    

    IDN 数据库脚本从 APIM 2.1 更改为 2.6。因此,请确保您遵循此迁移文档https://docs.wso2.com/display/AM260 中“第 2 步 - 将 WSO2 API-M 2.1.0 升级到 2.6.0”下的第 6 步 /升级+来自+the+Previous+Release#210。它将修复您遇到的以下错误。

    relation "idn_oidc_scope" does not exist at character 23
    

    回答您的其他查询,-1234 是超级租户 carbon.super 的租户 ID

    【讨论】:

    • 感谢您的回答,但我使用的是 PostgreSQL 而不是 MB 存储数据库。 Postgresql db脚本也有变化吗?
    • 检查指向资源 zip 文件夹中的 postgresql.sql 脚本。 (mb-store-migration-scripts-3.1.0_to_3.2.0.zip 和 wso2is-migration-1.0.35.zip) 您需要针对您的用户 db 和 mb db 运行这些脚本,以便在 2.6 中应用架构更改。
    • 您不需要为 MB Store DB 使用迁移脚本。您可以直接将 2.6 发行版中的 PostgreSQL DB 脚本用于 MB Store DB。在单独的说明中,在生产中,建议将默认 H2 数据库用于 MB Store DB。
    • 感谢@naoka,这解决了与表格相关的错误。但开始低于错误,任何想法可能是一个问题ccc-apim | WARN - AccessConfiguration Error loading properties from file: access-log.properties ccc-apim INFO - LogMediator STATUS = Message dispatched to the main sequence. Invalid URL., RESOURCE = /health ccc-apim | WARN - BlockingConditionRetriever Failed retrieving Blocking Conditions from remote endpoint: sun.security.validator.ValidatorException: PKIX path validation failed:java.security.cert.CertPathValidatorException: signature check failed
    【解决方案2】:

    APIM 2.6.0 导入导出工具的兼容版本是“api-import-export-2.6.0-v14.war”[1]。 在 APIM 3.0.0 中,您可以按照此文档[2] 执行此操作。

    [1]。 https://docs.wso2.com/display/AM260/Migrating+the+APIs+to+a+Different+Environment [2]。 https://apim.docs.wso2.com/en/next/Learn/APIController/migrating-apis-to-different-environments/

    【讨论】:

    • APIM 2.6.0 和 api-import-export-2.6.0-v14.war 出现错误。 yy``` ccc-apim | [2020-01-17 12:23:59,338] 错误 - ContainerBase ContainerBase.addChild:开始:ccc-apim | org.apache.catalina.LifecycleException: 无法启动组件 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/api-import-export-2.6.0-v14]]``` 和 ``` 原因:org .apache.catalina.LifecycleException: 无法启动组件 [WebappLoader[/api-import-export-2.6.0-v14]] ccc-apim |引起:org.apache.catalina.LifecycleException:未定义环境:CXF3
    • 无法加载进出口战争。原因:org.wso2.carbon.tomcat.CarbonTomcatException:Webapp未能部署ccc-apim |在 org.wso2.carbon.tomcat.internal.CarbonTomcat.addWebApp(CarbonTomcat.java:310) ccc-apim |在 org.wso2.carbon.tomcat.internal.CarbonTomcat.addWebApp(CarbonTomcat.java:206) ccc-apim |在 org.wso2.carbon.webapp.mgt.TomcatGenericWebappsDeployer.handleWebappDeployment(TomcatGenericWebappsDeployer.java:255) ccc-apim | ... 98 更多 ccc-apim |引起:java.lang.IllegalStateException: ContainerBa
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多