所以我为我在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 $?
这个脚本在大多数情况下都可以在occassions上失败,我想检查正确的启动顺序是什么,如果我的脚本需要等待每个组件在我开始下一个之前启动?
提前感谢您的帮助。
答案 0 :(得分:2)
来自Microsoft Windows
环境,您列出的服务中只有3个被认为是服务,这可能是启动/关闭脚本的问题。 MDEX
不是明确的服务。但是,安装MDEX组件的服务器上将运行一个或多个d-graphs
,这可能是断开连接的位置。
PlatformServices
组件应该是最重要的组件,可以控制停止和启动正在运行的d-graphs
(MDEX引擎)。而不是停止MDEX
'服务'您应该使用各个Endeca应用程序中存在的d-graphs
停止runcommand.sh
。控制文件夹。
因此,假设您已在$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
正常运行。
希望这有帮助。