我在Ubuntu 12.04上安装了Cloudera Manager 5.9,带有嵌入式postgres数据库.我使用do-release-upgrade将Ubuntu升级到14.04.在此过程中,Postgres也从8.4升级到9.3.现在,当我尝试通过以下方式启动CM数据库时:
# sudo service cloudera-scm-server-db start
Run Code Online (Sandbox Code Playgroud)
我在CM db.log中收到以下错误:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 8.4, which is not compatible with this version 9.3.15.
Run Code Online (Sandbox Code Playgroud)
我如何通过这个?我看了很多关于通过pg_dump转储postgres数据库并通过psql恢复的文档,但我不知道这在cloudera manager的上下文中是如何应用的,特别是当数据库没有出现时.
在Ubuntu 12.04上,当一切正常时,我相信转储可以像这样:
#pg_dump -h localhost -p 7432 -U scm > /tmp/scm_server_db_backup.$(date +%Y%m%d)
Run Code Online (Sandbox Code Playgroud)
我可以尝试创建一个空数据库并使用psql将转储恢复到此数据库.但是如何配置cdh指向此数据库?
我正在查看 EchoBot 示例并试图理解它。我看到 BotController 映射到 api/messages 和 HttpPost,后者又调用 Adapter.ProcessAsync。但这如何转化为 EchoBot.OnMessageActivityAsync 调用?我尝试设置断点并查看调用堆栈,但这无济于事(请参阅附加的屏幕截图)。
我知道 BotFrameworkHttpAdapter 是通过依赖注入调用的。但我不知道我们最终是如何进入 EchoBot 的。