Apache Usergrid, tomcat7 403 ошибка при настройке базы данных
У меня есть настройка usergrid, следуя этому руководству.
Шаги, которые я сделал, включают в себя:
1. Настройка Кассандры (nodetool status
показывает мне один здоровый узел, и я могу войти с cqlsh
).
2. Настройте ElasticSearch (curl localhost:9200
возвращает мне хороший.json, все в порядке.)
3. Встроенное приложение usergrid с mvn clean install
и переехал построен ROOT.war
в CATALINA_BASE
4. Создано usergrid-deployment.properties
в CATALINA_HOME
в /usr/share/tomcat7
Когда я запускаю сервис tomcat7, все идет нормально, ошибок в логах каталины нет. Последняя строка - "Запуск сервера".
В catalina.out
лог у меня есть строка:
ИНФОРМАЦИЯ: Запуск двигателя сервлета: Apache Tomcat/7.0.52 (Ubuntu) 8 марта 2016 г. 9:33:25 org.apache.catalina.startup.HostConfig deployWAR
ИНФОРМАЦИЯ: Развертывание архива веб-приложения /var/lib/tomcat7/webapps/ROOT.war
08 марта 2016 г., 10:02:50 org.apache.catalina.util.SessionIdGenerator createSecureRandom ИНФОРМАЦИЯ: Создание экземпляра SecureRandom для генерации идентификатора сеанса с использованием [SHA1PRNG] заняло [5$
08 марта 2016 г. 10:02:50 org.apache.coyote.AbstractProtocol start
ИНФОРМАЦИЯ: Запуск ProtocolHandler ["http-bio-8080"] 08 марта 2016 г. 10:02:50 org.apache.catalina.startup.Catalina start
ИНФОРМАЦИЯ: Запуск сервера за 5561 мс
Таким образом, приложение usergrid должно быть запущено.
Я могу просмотреть localhost:8080
и увидеть Tomcat7"Это работает" - страница.
Однако, когда я пытаюсь настроить базу данных usergrid следующим образом:
curl -X PUT http://localhost:8080/system/database/setup -u [user]:[password]
Я получаю ошибку 403:
Доступ к указанному ресурсу был запрещен.
Я уверен, что мои учетные данные совпадают с теми, которые я определил в usergrid-deployment.properties
в CATALINA_HOME
как пользовательская сетка sysadmin.login
полномочия.
В коте7 localhost_access_log
У меня есть следующий вывод:
0: 0: 0: 0: 0: 0: 0: 1 - - [08 / Mar / 2016: 12: 27: 43 +0200] "PUT / система / база данных / настройка HTTP/1.1" 403 979
Однако (номер2), когда я пытаюсь curl -v localhost:8080/status
чтобы увидеть статус приложения usergrid, я получаю
404 - запрошенный ресурс недоступен
Итак, любая помощь относительно того, что я мог бы сделать, чтобы: а) быть уверенным, что приложение usergrid правильно развернуто с tomcat (так как в логах нет ошибок b) для решения проблемы 403?
Спасибо за любую помощь!
РЕДАКТИРОВАТЬ:
Я заметил, что мой CATALINA_BASE
(/var/lib/tomcat/
) не было WEB_INF
каталог внутри webapps
совсем. В руководстве, на которое я ссылался, нам поручено копировать только ROOT.war
подать в webapps
каталог. Это правильно? Должен ли я также скопировать файлы WEB-INF из стека пользовательских сеток?
Вот что говорит гид:
Следующим шагом является развертывание программного обеспечения Usergrid Stack в Tomcat. Существует множество способов сделать это, и, возможно, самый простой - это поместить файл Usergrid Stack ROOT.war в каталог веб-приложений Tomcat, а затем перезапустить Tomcat.
Я пытался скопировать WEB-INF
файлы в CATALINA_BASE
но это привело к множественным ошибкам и tomcat7 не удалось запустить:
Это:
21: 25: 49,923 WARN Slf4jConnectionPoolMonitorImpl: 31 - BadRequestException: [host = localhost (127.0.0.1): 9160, латентность =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]asticsearch/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 ответ
У меня нет ответа для вас, но у меня есть пара замечаний:
Если вы видите страницу Tomcat "все работает", это означает, что вы не развернули файл Usergrid ROOT.war.
Если вы видите 404 on /status, это также означает, что Usergrid развернут неправильно.
Файл Usergrid ROOT.war, который поставляется с официальным выпуском, включает в себя каталог WEB-INF, и вам не нужно развертывать его отдельно. Единственными файлами, которые нужно добавить в Tomcat, являются ROOT.war, usergrid-deployment.properties и (необязательно) log4j.properties.
Возможно, проблема в том, что Usergrid не может подключиться к Cassandra или ElasticSearch, а файл ROOT.war не удается развернуть в Tomcat.
Если вы поделитесь своим файлом свойств Usergrid (сначала удалите все пароли), может быть проще диагностировать проблему, которая препятствует развертыванию файла WAR Usergrid.