我已按照此guide设置了用户网格
我所做的步骤包括:
1.设置Cassandra(nodetool status
向我显示一个健康节点,我可以使用cqlsh
登录。)
2.设置ElasticSearch(curl localhost:9200
给了我一个很好的.json,一切都好。)
3.使用mvn clean install
构建用户网格应用,并将构建的ROOT.war
移至CATALINA_BASE
4.在usergrid-deployment.properties
CATALINA_HOME
到/usr/share/tomcat7
当我启动tomcat7服务时一切正常,catalina日志中没有错误。最后一行是" Server Startup"。
在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 org.apache.coyote.AbstractProtocol start
信息:启动ProtocolHandler [" http-bio-8080"] 2016年3月8日上午10:02:50 org.apache.catalina.startup.Catalina开始 信息:服务器启动时间为5561毫秒
因此usergrid应用程序应该正在运行。
我可以浏览localhost:8080
并查看Tomcat7"它的工作原理" - 页面。
但是,当我尝试像这样设置usergrid数据库时:
curl -X PUT http://localhost:8080/system/database/setup -u [user]:[password]
我收到403错误:
禁止访问指定的资源。
我确信我的凭据与我在usergrid-deployment.properties
中CATALINA_HOME
中定义的凭据与usergrid sysadmin.login
凭据相匹配。
在tomcat7 localhost_access_log
中,我有以下输出:
0:0:0:0:0:0:0:1 - - [08 / Mar / 2016:12:27:43 +0200]" PUT / system / database / setup HTTP / 1.1& #34; 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
目录。它是否正确?我是否还应该从用户网格堆栈中复制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),attempts = 1] InvalidRequestException(why:your you you already in)
并且:
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)。我还没有试过这些版本,如果我让它工作,我会更新这个问题。
答案 0 :(得分:0)
我没有答案,但我确实有几点意见:
如果您看到Tomcat“it works”页面,则表示您尚未部署Usergrid ROOT.war文件。
如果您看到404状态/状态,则表示Usergrid未正确部署。
官方发行版附带的Usergrid ROOT.war文件包含WEB-INF目录,您无需单独部署。您需要添加到Tomcat的唯一文件是ROOT.war,usergrid-deployment.properties和(可选)log4j.properties。
问题可能是Usergrid无法连接到Cassandra或ElasticSearch,并且ROOT.war文件无法部署到Tomcat。
如果您共享Usergrid属性文件(首先删除所有密码),则可能更容易诊断阻止部署Usergrid WAR文件的问题。