1

所以我为在 Centos 6.6 上运行的本地 endeca 11.1 环境创建了一个启动 bash 脚本:

#!/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 的正确启动顺序是什么,以及我的脚本是否需要等待每个组件启动才能启动下一个组件?

在此先感谢您的帮助。

4

1 回答 1

2

来自Microsoft Windows环境,您列出的 for 服务中只有 3 个被认为是服务,这可能是您启动/关闭脚本的问题。MDEX不是显式服务。然而,一个或多个d-graphs将在安装了 MDEX 组件的服务器上运行,这可能就是断开连接的地方。

PlatformServices组件应该是最重要的,并且可以控制停止和启动运行d-graphs(MDEX Engines)。与其停止MDEX“服务”,不如停止d-graphs使用runcommand.sh单个 Endeca Apps 控制文件夹中存在的服务。

因此,假设您在您的应用程序中部署$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和服务。ToolsAndFrameworkCAS

启动将需要再次启动上述三个服务,然后再次调用,runncommand.sh但这次使用start参数。在PlatformServices尝试启动d-graphs.

希望这可以帮助。

于 2015-05-21T05:02:58.940 回答