14 августа 2009

Перезагрузка сервисов Oracle EPM 11.1.1.2

Иногда при перезапуске сервисов EPM 11 на Windows серверах вы можете получить "Ошибку 503" и т.д. Это связано с тем, что после установки (оказывается!) запускать Tomcat надо ручками. Нужно запустить файл $Hyperion_Home\common\appServers\Tomcat\5.5.17\bin\startup.bat. Кроме того, нужно самостоятельно создать специальную переменную в среде окружений (JRE_HOME с параметром %disk%:\Hyperion\common\JRE\Sun\1.5.0). И только после этого вы можете смело перезапустить Apache, и о чудо - всё будет работать!
Спасибо за тех.помощь Игорю Мирочнику ;)

13 комментариев:

  1. ?
    это о чем ?
    если говорить о багах - то на какой версии - был ли заведен СР ? какой результат ?


    не надо списывать локальные ошибки на неизвестные явления природы :)

    ER

    ОтветитьУдалить
  2. Женя, не наезжай без повода. На самом деле такие workaround'ы хрен где найдешь (у многих нет проплаченого доступа на металинк).

    А с этой проблемой столкнулся не только Антон, и решается она вроде просто, но каждый раз теряешь по часу-полтора чтобы отследить, где кака и вправить мозги.

    ОтветитьУдалить
  3. - конечно надо давать право высказаться всем кто считает нужным, но такие посты вводят только в заблуждение
    - явно не хватает версии на которой это было замечано
    так как явно в 11.1.1.3 все такие "мелочные" проблемы были устранены (и я не помню что у меня подобное было на 11.1.1.2 )

    ER

    ОтветитьУдалить
  4. Прямо таки все?:-))
    Софт без ошибок - мертвый софт:)

    По себе скажу - у меня такое было с 11.1.1.2.
    11.1.1.1 я активно не использовал, да и очевидно было что продукт еще очень сырой.

    С удовольствием попытался бы воспроизвести на 11.1.1.3, но, боюсь, с Хайпом придется завязать на некоторое время.

    ОтветитьУдалить
  5. Описанный момент выявлен в релизе 11.1.1.2. О чем указал (поправил) в заголовке.

    ОтветитьУдалить
  6. А всё-таки. О какой ошибке идет речь? Что именно отказывается работать?

    Я переставлял полный комплект 11.1.1.2 на WINTEL платформе (собственный рабочий ноут) 4 раза. C описанной ошибкой не сталкивался. Ни какие JAVA_HOME и доп. CLASSPATH естессно тоже не прописывал.

    ОтветитьУдалить
  7. 2Roman: Вероятно, такая ошибка возникала при первой(!) установке на чистую ОС, на которую не было ранее установлено никаких релизов EPM.

    ОтветитьУдалить
  8. Мирочник Игорь18 августа 2009 г., 14:33

    Окей, опишу всю ситуацию.
    Версия продукта 11.1.1.2, как и заявлено в заголовке заметки.
    Да всё очено просто воспроизводится. У меня на win2003 стоит EPM 11.1.1.2. Останавливаю все сервисы. Запускаю необходимые, и получаю на выходе "503". Может я чего и не понимаю, но на Apache уже приходит то, что скормлено Tomcat`у. Посмотрел, а в сервисах томката нет. Начал смотреть где он у них лежит. И нашел батник запуска с необходимыми параметрами. Запустил. Вывалилась ошибка. Поковырялся в батнике, и нашёл, что собственно надо исправить. И исправил. Перезапустил Apache. И всё запахало.
    И это не на одной машинке появлялось и появляется.
    Так же в тему могу сразу сказать, что именно этот батник надо запускать, если вы хотите, чтобы ваши самописные классы можно было использовать в их приложениях.

    P.S. Данный workaround требует на исполнение меньше минуты, и необходимость в нем возникает раз в 2 дня. Отсюда вопрос сколько нужно времени, чтобы отбить часа 3 (дай бог) поиска реальной ошибки + 2-3 недели общения с metalink?

    ОтветитьУдалить
  9. Среди сервисов и процессов Tomcat'а быть не должно.

    Приложения исполняют экземпляры утилиты %HYPERION_HOME%\common\utilities\JavaService\HyslJavaService.exe , копии которой находятся в и запускаются из каталога %HYPERION_HOME%\deployments\Tomcat5\bin\. HyslJavaService.exe это аналог или модификация procrun (http://commons.apache.org/daemon/procrun.html). При своем запуске эти утилиты запускают стартовые классы Томката, а они в свою очередь стартуют соответствуюшие приложения Hyperion.

    Теперь по поводу "ошибки 503".
    Сообщение веб-сервера "503 Service Temporarily Unavailable" при попытке открыть страницу с одним из приложений Hyperion, при условии, что требуемое приложение запущено в виде Windows-службы и доступно по собственному порту, буквально означает, что веб-сервер не "видит" ajp3-листнер экземпляра Томкат, который исполняет данное приложение.

    Веб-сервер может не "видеть" ajp3-листнер Томката в двух наиболее распространенных случаях:
    1) Томкат, который исполняет приложение, действительно не запущен или
    2) в _момент_последнего_недавнего_обращения_ к Томкату он не был запущен.
    Если вы уверены, что службу приложения запустили, то наиболее вероятен 2-й случай, например Apache HTTPd был запущен _до_ серверов приложений. В этом случае нужно немного подождать и обновить страницу с приложением. По моему субъективному опыту (я не изучал детально документацию по этой теме и не в курсе какой там действительно стоит таймаут) "немного подождать" обычно занимает не больше 10 секунд.

    Про технологию ajp3-листнеров читайте по ссылке http://tomcat.apache.org/connectors-doc/ajp/ajpv13a.html.

    Дистрибутив Томката по пути %HYPERION_HOME%\common\appServers\Tomcat\5.5.17\ используется в качестве %CATALINA_BASE% _всеми_ java-приложениями Hyperion, исполняемыми экземплярами сервера. Поэтому ни чего по этому пути менять не надо. Также желательно непосредственно оттуда Tomcat не запускать. Для ваших собственных приложений лучше использовать отдельную структуру папок %CATALINA_HOME%.
    Подробнее про %CATALINA_BASE% и %CATALINA_HOME% читайте по ссылке http://tomcat.apache.org/tomcat-5.5-doc/class-loader-howto.html.

    ОтветитьУдалить
  10. Мирочник Игорь20 августа 2009 г., 11:14

    Среди сервисов и процессов Tomcat`а быть не должно _для_ _EPM 11_.

    По ошибке _503_. Вы абсолютно правы. Информация действительно стоящая и необходимая. И да, действительно порой надо подождать порядка 10-20 секунд, чтобы все было в норме. Всё здорово, если бы только я этим не занимался, когда у меня в течение _30 минут_ не висела данная ошибка. Поверьте, в тех случаях я _нажимал_ _кнопку_ _обновить_ и _перезапускал_ _Apache_, и вообще _много_ _чего_ делал_.

    Если данная ошибка у вас не проявляется, то это здорово! :)

    ОтветитьУдалить
  11. Я не сомневаюсь, что у вас действительно возникла ошибка, а не просто вы забыли обновить страницу с приложением через 10-20 секунд после старта.

    Только причина этой ошибки не может быть в Tomcat из %HYPERION_HOME%\common, если вы не пытались какое-нибудь приложение там деплоить вручную.

    При попытке открыть какое приложение у вас вываливалась 503-я ошибка?

    ОтветитьУдалить
  12. Мирочник Игорь21 августа 2009 г., 15:34

    Обычно при повторении таких ситуаций помогало. Времени на реальный разбор причин не было, необходимо было просто заставить работать.

    Откажусь от комментария по этой части, дабы не ввести в заблуждение. Но вопрос задам, а почему вы считаете, что Tomcat не может быть причиной? Я встречал много странных проблем. И в системе такое количество компонентов и мелочей, что говорить, что "это" или "то" точно не могли повлиять помойму не целесообразно. Только если в голове не лежит вся модель системы.

    Ошибка возникала при попытке зайти на Workspace.

    ОтветитьУдалить
  13. Может быть, у вас приложение Workspace развернуто по пути "%HYPERION_HOME%\common\appServers\Tomcat\5.5.17"?
    Вы пробовали заходить на Workspace по порту, который держит непосредственно Tomcat?
    Порт 45000.

    Если у вас инсталляция "из коробки", то приложение Workspace должно быть развернуто в %HYPERION_HOME%\deployments\Tomcat5\Workspace. Workspace запускается из этой папки, все настройки, включая порты, находятся внутри этой папки.
    И если вы не пытались как-то вручную перенастроить Workspace, например, подложить архив с его приложением в папку Tomcat в common, то проблема точно не в этом томкате.

    Сейчас объясню почему.
    В момент, когда вы пытаетесь открыть страницу Workspace, обратившись к Apache, ваш запрос бежит по следующему маршруту:
    (Ваш браузер) -> (Сервер Apache:порт апача, скорее всего 19000) ->
    (ajp3-листнер сервера Tomcat, на котором развернут Workspace)

    Для переадресации запросов Apache использует настройки конфигов HYSLWorkers.properties и HYSLTomcat-autogenerated.conf из папки %HYPERION_HOME%\common\httpServers\Apache\2.0.59\conf.
    HYSLWorkers.properties содержит ссылки на ajp3-коннекторы Tomcat'ов различных приложений, к которым Apache должен перенаправлять запросы. Приложение Workspace зарегистрировано как:
    worker.HPSU_hypdemo.demonet_45000.host=hypdemo.demonet
    worker.HPSU_hypdemo.demonet_45000.port=45002
    worker.HPSU_hypdemo.demonet_45000.type=ajp13
    (Почему HPSU, а не workspace? Ранее Workspace был частью пакета Hyperion Performance Suite aka HPSU)
    В конфиге HYSLTomcat-autogenerated.conf задан мэппинг папок сайта на приложения, зарегистрированные в HYSLWorkers.properties.
    Из всего этого следует то, что если при попытке открыть страницу приложения возникает ошибка, то ошибка возникает не где-то абстрактно в системе, а либо настройках переадресации Apache->Tomcat или внутри данного конкретного приложения.

    Чтобы понять, какие порты слушает сервер приложения Workspace нужно обратиться к файлу server.xml по пути %HYPERION_HOME%\deployments\Tomcat5\Workspace. Из файла следует, что сервер слушает порт 45000 по протоколу http, 45002 по протоколу AJP/1.3 и для получения команды shutdown порт 45001.
    Само приложение workspace находится в папке %HYPERION_HOME%\deployments\Tomcat5\Workspace\webapps.
    Всё. По другим портам приложение Workspace недоступно и ни один другой сервер его не выполняет.

    При запуске Tomcat с помощью %HYPERION_HOME%\common\appServers\Tomcat\5.5.17\bin\statup.bat используется файл настроек %HYPERION_HOME%\common\appServers\Tomcat\5.5.17\conf\server.xml. Сервер запускается с портами, на которые нет ссылок в конфигах Apache. При этом запускаются приложения из папки %HYPERION_HOME%\common\appServers\Tomcat\5.5.17\bin\webapps. Это стандартные приложение Tomcat, которые к Hyperion ни какого отношения не имеют.

    ОтветитьУдалить