使用 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 数据代理
未捕获的错误:尚未为上下文_加载模块名称“ @ cloudant / cloudant”。在javascript中使用require([])