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.

Другие вопросы по тегам