Apache Usergrid,tomcat7 403数据库设置错误

时间:2016-03-08 10:46:31

标签: tomcat7 usergrid

我已按照此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.propertiesCATALINA_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)。我还没有试过这些版本,如果我让它工作,我会更新这个问题。

1 个答案:

答案 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文件的问题。