Правильная последовательность запуска компонентов Endeca?

Поэтому я создал сценарий запуска bash для своей локальной среды endeca 11.1, которая работает на Centos 6.6:

#!/bin/sh


ENDECA_USER=endeca
ENDECA_BASE=/usr/local/endeca
GREEN='\e[32m'
NC='\e[39m' 

source /usr/local/endeca/MDEX/6.5.1/mdex_setup_sh.ini
source /usr/local/endeca/PlatformServices/workspace/setup/installer_sh.ini


echo ER = $ENDECA_ROOT

usage() {
  echo "Usage: ${0} (start|stop)"
}

case "${1}" in
 start)
echo "Starting Endeca ..."
echo -ne "\n\n${GREEN}Starting MDEX Engine ... ${NC} \n\n"
${ENDECA_ROOT}/tools/server/bin/startup.sh
sleep 5
echo -ne "\n\n${GREEN}Starting Platform Services ... ${NC} \n\n"
${ENDECA_BASE}/PlatformServices/11.1.0/tools/server/bin/startup.sh
sleep 5
echo -ne "\n\n${GREEN}Starting Tools & Frameworks ... ${NC} \n\n"
${ENDECA_BASE}/ToolsAndFrameworks/11.1.0/server/bin/startup.sh
sleep 5
${ENDECA_BASE}/CAS/11.1.0/bin/cas-service.sh &
;;
stop)
echo "Shutting down Endeca ..."
${ENDECA_ROOT}/tools/server/bin/shutdown.sh
sleep 5
${ENDECA_BASE}/PlatformServices/11.1.0/tools/server/bin/shutdown.sh
sleep 5
${ENDECA_BASE}/ToolsAndFrameworks/11.1.0/server/bin/shutdown.sh
sleep 5
${ENDECA_BASE}/CAS/11.1.0/bin/cas-service-shutdown.sh
wait
echo "Endeca shutdown complete!"
;;
 *)
    usage
exit 2
esac

  exit $?

Этот сценарий работает большую часть времени, но иногда дает сбой, и я хочу проверить, какова правильная последовательность запуска для endeca, и должен ли мой сценарий ждать запуска каждого компонента, прежде чем я запущу следующий?

Заранее спасибо за вашу помощь.


person bated    schedule 20.05.2015    source источник
comment
иногда выходит из строя - как?   -  person javabrett    schedule 22.05.2015


Ответы (1)


Исходя из среды Microsoft Windows, только 3 из перечисленных вами служб считаются службами, и, возможно, это проблема с вашими сценариями запуска / завершения работы. MDEX не является явным сервисом. Однако один или несколько d-graphs будут работать на сервере, на котором установлен компонент MDEX, и, возможно, именно здесь происходит отключение.

Компонент PlatformServices должен быть самым важным и может управлять остановкой и запуском работающих d-graphs (двигателей MDEX). Вместо того, чтобы останавливать «службу» MDEX, вам лучше остановить d-graphs, используя runcommand.sh, которая существует в папке управления отдельными приложениями Endeca.

Итак, если ваши приложения развернуты в вашем $ENDECA_BASE и приложение называется bated, ваш сценарий должен быть примерно таким.

#Stop the Authoring Dgraph
${ENDECA_BASE}/apps/bated/control/runcommand.sh AuthoringDgraph stop
#Stop the additional Dgraphs (as configured in your LiveDgraphCluster.xml)
${ENDECA_BASE}/apps/bated/control/runcommand.sh DgraphA1 stop

Как только они будут остановлены, вы можете приступить к отключению служб PlatformServices, ToolsAndFramework и CAS в любом порядке.

Для запуска потребуется снова запустить три вышеупомянутые службы, а затем снова вызвать runncommand.sh, но на этот раз с параметром start. Вам нужно будет дождаться, пока PlatformServices заработает правильно, прежде чем пытаться запустить d-graphs.

Надеюсь это поможет.

person radimpe    schedule 21.05.2015
comment
Очень полезно! Спасибо. Из интереса, какие спецификации ПК вы используете для запуска среды разработки? Я обнаружил, что при запуске Platform Services и Dgraphs у меня очень высокая загрузка ЦП и памяти. - person bated; 22.05.2015
comment
Выделенной виртуальной машины Microsoft Server 2012 R2 с 8 ГБ ОЗУ и двумя процессорами по 2,60 ГГц вполне достаточно для целей разработки. Мы не делаем большой нагрузки в этой среде (максимум 12 экземпляров разработчика, подключенных в любой момент времени). Самым большим «узким местом» на самом деле является база данных с недостаточной спецификацией, которой требуется много времени для создания выходных данных CAS для индекса. - person radimpe; 25.05.2015