使用 Cloudant 在 IBM Container 上的 MFPF 不起作用

Posted

技术标签:

【中文标题】使用 Cloudant 在 IBM Container 上的 MFPF 不起作用【英文标题】:MFPF on IBM Container using Cloudant doesn't work 【发布时间】:2015-11-13 12:47:45 【问题描述】:

我按照以下步骤选择 Cloudant 作为其数据库。

在 IBM 容器上运行 IBM MobileFirst Platform Foundation https://developer.ibm.com/mobilefirstplatform/documentation/getting-started-7-1/bluemix/run-foundation-on-bluemix/

好像创建db命令执行成功了。

./prepareserverdbs.sh args/prepareserverdbs.properties
Arguments : 
----------- 

DB_TYPE :  cloudantNoSQLDB
DB_SRV_NAME :  container1114
DB_SRV_PLAN :  Shared
APP_NAME :  container1114
RUNTIME_NAME : 
SCHEMA_NAME :  WLADMIN

Creating database Service - container1114
Successfully created Database Service
Creating application 'container1114'
Application Created Successfully
Getting database configuration
Configuration saved in file '../usr/config/wladmin.xml'
Successfully Completed Cloudant NoSQL DB Service Binding
bash-3.2$ ./prepareserverdbs.sh args/prepareserverdbs.properties
Arguments : 
----------- 

DB_TYPE :  cloudantNoSQLDB
DB_SRV_NAME :  container1114
DB_SRV_PLAN :  Shared
APP_NAME :  container1114
RUNTIME_NAME :  AdapterBasedAuth
SCHEMA_NAME :  AdapterBasedAuth

Database service 'container1114' exists
Application 'container1114' exists
Getting database configuration
Configuration saved in file '../usr/config/AdapterBasedAuth.xml'
Successfully Completed Cloudant NoSQL DB Service Binding

但是当我打开 Cloudant Web 控制台时,我看不到任何数据库。

我使用此 Cloudant 服务绑定应用成功创建了容器。但是当我打开 MFPF 控制台时,我看不到任何应用程序。我在“messages.log”中出现以下错误。

我该如何解决这个问题?

[11/13/15 12:31:40:955 UTC] 000000b4 com.ibm.worklight.management.ui.servlet.ServiceProxy         E Exception Server returned HTTP response code: 500 for URL: http://134.168.23.233:9080/worklightadmin/management-apis/1.0/runtimes?fullInfo=true while redirecting request to http://134.168.23.233:9080/worklightadmin/management-apis/1.0/runtimes?fullInfo=true
[11/13/15 12:34:56:406 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant URL = https://e8ebde9a-5f33-4364-8eb0-d77a028f5f66-bluemix:c27f9feffefc04bf53321c1185757fed47b0d6775334ee802bc0a180xxxxxx@e8ebde9a-5f33-4364-8eb0-d77a02xxxxxxx-bluemix.cloudant.com
[11/13/15 12:34:56:406 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Databasename = mfp_admin_db
[11/13/15 12:34:56:406 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Username = e8ebde9a-5f33-4364-8eb0-d77xxxxx6-bluemix
[11/13/15 12:34:56:406 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Password = ****************************************************************
[11/13/15 12:34:56:406 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Connect Timeout = null
[11/13/15 12:34:56:406 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Socket Timeout = null
[11/13/15 12:34:56:406 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Max Connections = null
[11/13/15 12:34:56:407 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant SSL Authentication = null
[11/13/15 12:34:56:407 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant SSL Configuration = null
[11/13/15 12:34:56:407 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Proxy Host = null
[11/13/15 12:34:56:407 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Proxy Port = null
[11/13/15 12:34:56:408 UTC] 000000ef com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant URL = https://e8ebde9a-5f33-4364-8eb0-d77a028f5f66-bluemix:c27f9feffefc04bf53321c1185757fed47b0d6775334ee802bc0a1800b2746e4@e8ebde9a-5f33-4364-8eb0-d77a0xxxxxx-bluemix.cloudant.com
[11/13/15 12:34:56:408 UTC] 000000ef com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Databasename = mfp_admin_db
[11/13/15 12:34:56:408 UTC] 000000ef com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Username = e8ebde9a-5f33-4364-8eb0-d77a028f5f66-bluemix
[11/13/15 12:34:56:408 UTC] 000000ef com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Password = ****************************************************************
[11/13/15 12:34:56:408 UTC] 000000ef com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      I Cloudant Connect Timeout = null
[11/13/15 12:34:56:407 UTC] 000000eb com.ibm.worklight.admin.datastore.DataStoreCloudantUtil      E Failed to allocate Cloudant Data Store even though it is configured.

【问题讨论】:

【参考方案1】:

仅供参考,对于 CloudantDB,prepareserverdb.scripts 不会创建任何表。它发生在使用 startserver 脚本创建容器期间。

当您遇到任何问题时,可以查看 Bluemix 状态通知页面。它会实时显示每个服务状态。

https://status.ng.bluemix.net/

在执行 prepareserver.sh 脚本操作之前,您是否添加了任何项目运行时 (WAR)。只有在执行映像构建(自定义后)之前添加项目之后,运行时(不是应用程序)才会显示在 MFPF 控制台上。您可以在登录到运行时下的管理控制台后添加您的应用程序、适配器。

例如... MobileFirstStarter 基于图像的容器默认只有一个运行时,称为“MobileFirstStarter”

【讨论】:

“仅供参考,对于 CloudantDB,prepareserverdb.scripts 不会创建任何表。它发生在使用 startserver 脚本创建容器期间。”。这就是我的回答。谢谢。

以上是关于使用 Cloudant 在 IBM Container 上的 MFPF 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

无法为 IBM Physio 应用程序填充 Cloudant 数据库

IBM Cloud Functions Service 在尝试创建与 Cloudant 操作的新绑定时无法检索数据库列表

IBM Cloud Functions:在 Nodejs 中使用异步调用

无法在 Bluemix 上的 MobileFirst 容器上配置 Cloudant 数据代理

首届NoSQL数据库挑战赛,等你来战!

未捕获的错误:尚未为上下文_加载模块名称“ @ cloudant / cloudant”。在javascript中使用require([])