我已经按照本指南设置了 usergrid 。
我已经完成的步骤包括:
1. 设置 Cassandra(nodetool status
向我显示一个健康节点,我可以使用它登录cqlsh
)。
2. 设置 ElasticSearch(curl localhost:9200
给我一个漂亮的 .json,一切正常。)
3. 构建 usergrid 应用程序mvn clean install
并将构建移动ROOT.war
到CATALINA_BASE
4. 创建usergrid-deployment.properties
到CATALINA_HOME
at/usr/share/tomcat7
当我启动 tomcat7 服务时,一切正常,catalina 日志中没有错误。最后一行是“服务器启动”。
在catalina.out
日志中我有一行:
信息:启动 Servlet 引擎:Apache Tomcat/7.0.52 (Ubuntu) 2016 年 3 月 8 日上午 9:33:25 org.apache.catalina.startup.HostConfig deployWAR
信息:部署 Web 应用程序存档 /var/lib/tomcat7/webapps/ ROOT.war
2016 年 3 月 8 日上午 10:02:50 org.apache.catalina.util.SessionIdGenerator createSecureRandom 信息:使用 [SHA1PRNG] 为会话 ID 生成创建 SecureRandom 实例花费 [5$
2016 年 3 月 8 日 10:02:50 AM org.apache.coyote.AbstractProtocol 启动
信息:启动 ProtocolHandler [“http-bio-8080”] 2016 年 3 月 8 日上午 10:02:50 org.apache.catalina.startup.Catalina 启动
信息:服务器启动时间为 5561 毫秒
所以 usergrid 应用程序应该正在运行。
我可以浏览localhost:8080
并查看 Tomcat7“It works”- 页面。
但是,当我尝试像这样设置 usergrid 数据库时:
curl -X PUT http://localhost:8080/system/database/setup -u [user]:[password]
我收到 403 错误:
已禁止访问指定资源。
我确信我的凭据与我usergrid-deployment.properties
在CATALINA_HOME
usergridsysadmin.login
凭据中定义的凭据相匹配。
在 tomcat7localhost_access_log
中,我有以下输出:
0:0:0:0:0:0:0:1 - - [08/Mar/2016:12:27:43 +0200] “PUT /system/database/setup HTTP/1.1”403 979
但是(number2),当我尝试curl -v localhost:8080/status
查看 usergrid 应用程序的状态时,我得到
404 - 请求的资源不可用
因此,关于我可能会做什么的任何帮助:a)确保使用 tomcat 正确部署了 usergrid 应用程序(因为日志中没有错误 b)以解决 403 问题?
感谢您的任何帮助!
编辑:
我注意到我的CATALINA_BASE
( /var/lib/tomcat/
) 里面根本没有WEB_INF
目录webapps
。在我参考的指南中,我们只被指示将 ROOT.war
文件复制到webapps
目录。这个对吗?我还应该从 usergrid 堆栈中复制 WEB-INF 文件吗?
指南是这样说
的:下一步是将 Usergrid Stack 软件部署到 Tomcat。有多种方法可以做到这一点,最简单的可能是将 Usergrid Stack ROOT.war 文件放入 Tomcat webapps 目录,然后重新启动 Tomcat。
我尝试将WEB-INF
文件复制到CATALINA_BASE
但导致多个错误并且tomcat7无法启动:
这个:
21:25:49,923 WARN Slf4jConnectionPoolMonitorImpl:31 - BadRequestException: [host=localhost(127.0.0.1):9160,latency=16(38),尝试=1]InvalidRequestException(为什么:您尚未登录)
和:
INFO 传输:93 - [node-1] bound_address {inet[0.0.0.0/0.0.0.0:9301]},publish_address {inet[/XX.XXX.XXX.XXX:9301]} 21:25:51,892 INFO 发现: 85 - [node-1] elasticsearch/RIaKYgv1R-yTKJ_aknZOuw 21:25:51,905 WARN netty:620 - [node-1] 在传输层 [[id: 0xc1bc7fca]] 上捕获异常,关闭连接 java.net.UnknownHostException: localhost: 9200
编辑 2:我被告知只有 Elasticsearch v 1.4.4 有效(我尝试使用 2.2.0)和 Cassandra 1.2.x 和 2.1.x 版本(我尝试使用 3.0.3)。我还没有尝试过这些版本,如果我让它工作,我会更新这个问题。