我已經在此guide之後設置了usergrid。
步驟我做過包括:
1.設置卡桑德拉(nodetool status
顯示我一個希爾蒂節點,我可以用cqlsh
登錄)。
2.設置ElasticSearch(curl localhost:9200
給了我一個很好的以.json回來,一切就OK了。)
3. /usr/share/tomcat7
Apache Usergrid,tomcat7數據庫設置403錯誤
mvn clean install
和感動內置
ROOT.war
到
CATALINA_BASE
4.創建
usergrid-deployment.properties
到
CATALINA_HOME
當我啓動tomcat7服務時,一切正常,在catalina日誌中沒有錯誤。最後一行是「服務器啓動」。
在catalina.out
日誌我也行:
INFO: Starting Servlet Engine: Apache Tomcat/7.0.52 (Ubuntu) Mar 08, 2016 9:33:25 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive /var/lib/tomcat7/webapps/ROOT.war
Mar 08, 2016 10:02:50 AM org.apache.catalina.util.SessionIdGenerator createSecureRandom INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [5$
Mar 08, 2016 10:02:50 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"] Mar 08, 2016 10:02:50 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5561 ms
所以usergrid應用程序應該運行。
我可以瀏覽到localhost:8080
並查看Tomcat7「It works」 - 頁面。
然而,當我嘗試設置的usergrid數據庫是這樣的:
curl -X PUT http://localhost:8080/system/database/setup -u [user]:[password]
我得到一個403錯誤:
Access to the specified resource has been forbidden.
我相信,我的憑據匹配那些我已經定義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" 403 979
但是(數字2),當我嘗試curl -v localhost:8080/status
看到usergrid應用程序的狀態,我得到
404 - requested resource is not available
因此,任何幫助我做什麼: a)確保usergrid應用程序與tomcat正確部署(因爲日誌中沒有錯誤 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), attempts=1]InvalidRequestException(why:You have not logged in)
和:
INFO transport: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 discovery:85 - [node-1] elasticsearch/RIaKYgv1R-yTKJ_aknZOuw 21:25:51,905 WARN netty:620 - [node-1] exception caught on transport layer [[id: 0xc1bc7fca]], closing connection java.net.UnknownHostException: localhost:9200
編輯2:我被告知只有Elasticsearch v 1.4.4工作(我試過2.2.0)和Cassandra 1.2.x和2.1.x版本(我試過3.0.3)。我還沒有嘗試過這些版本,我會更新這個問題,如果我得到它的工作。