DataStage在正常运行时候有以下两个主要的进程:
1.dsrpcd(DS的主进程)
$ps -ef | grep dsrpcd
root 1602486 1 0 09:42:17 pts/5 0:00 /app/dsadm/Ascential/DataStage/DSEngine/bin/dsrpcd
2.JobMonApp(jobmonitor的进程)
$ps -ef | grep JobMon
root 668620 1 0 09:42:22 pts/5 0:02 /app/dsadm/Ascential/DataStage/PXEngine/java/jre/bin/java -classpath /app/dsadm/Ascential/DataStage/PXEngine/java/JobMonApp.jar:/app/dsadm/Ascential/DataStage/PXEngine/java/xerces/xercesImpl.jar:/app/dsadm/Ascential/DataStage/PXEngine/java/xerces/xmlParserAPIs.jar JobMonApp 13400 13401
在需要重启DS的时候,需保证当前没有任何用户连接到DS上,
用netstat -a | grep ds命令可查看当前连接到ds上的用户,如:
tcp4 0 0 *.dsrpc *.* LISTEN
tcp4 0 0 P05_EDW_ETL1.dsrpc 10.202.1.67.rusb-sys ESTABLISHED
tcp4 0 0 P05_EDW_ETL1.dsrpc 10.202.1.67.xtrms ESTABLISHED
tcp4 0 0 P05_EDW_ETL1.dsrpc P05_EDW_ETL1.60218 CLOSE_WAIT
tcp4 0 0 P05_EDW_ETL1.60218 P05_EDW_ETL1.dsrpc FIN_WAIT_2
再用ps -ef | grep dsapi命令查看连接的进程,如:
dsadm 3289402 1450818 0 10:05:25 pts/5 0:00 grep dsapi
dsadm 791408 2630360 0 09:43:47 - 0:01 dsapi_slave 7 6 0
dsadm 1237846 1266584 0 09:45:49 - 0:00 dsapi_slave 7 6 0
重启ds时候需要kill掉这些进程,
ps -ef | grep dsapi | awk '{print "kill "$2}' | sh
执行之后再用ps -ef | grep dsapi 和netstat -a | grep ds查看,如果当前没有用户连接,才可以重启.
如果在没有断开所有用户与ds的连接就重启ds,那么ds的主进程dsrpcd将不能起来.
这样的话,那些用户的连接将成为死进程,需等待系统释放这些死进程之后才可以再次重启.
甚至有可能需要重启操作系统...
2,关闭
cd /p17/dssrv/Ascential/DataStage/DSEngine/bin
uv -admin -stop
3,开启
cd /p17/dssrv/Ascential/DataStage/DSEngine/bin
uv -admin -start