DataStage 二、InfoSphere Information Server进程的启动和停止
DataStage序列文章
1 关于进程需要了解的基础知识
名称 | 说明 |
---|---|
ASB代理进程 | 通信代理程序,它的作用是协助层与层之间的通信,默认端口是31531,它以后台进程的方式运行在引擎层和客户端层 |
ASB记录代理进程 | 它的作用是记录事件信息到元数据存储层的数据库中 |
DataStage Engine进程 | 它是核心进程,管理DataStage job任务、Cache、job资源 |
WebSphere Application Server(WAS) | Web 应用服务器程序,使用Java EE、xml和Web Service建立,它负责初始化连接器和基于Web 的console(控制台)、infocenter(信息中心) |
2 启动InfoSphere Information Server进程
建议先启动WAS,再启动ASB代理,最后再启动DataStage Engine。WAS包含与资源库的连接、启动Application Server,是一个很重要的进程,它启动失败一系列的问题如客户端连接出错、信息中心无法访问就遇上了。
2.1 启动WAS
在root用户下启动WAS服务:
$ /opt/IBM/InformationServer/ASBServer/bin/MetadataServer.sh start
启动会需要一段时间,大约4分钟左右,当WAS启动完成后,检查进程信息,可以看到类似如下的进程信息:
$ ps -ef|grep java
root 22151422 1 0 12:48:12 pts/2 0:52 /opt/IBM/WebSphere/AppServer/java/bin/java -Declipse.security -Dwas.status.socket=61870 -Dosgi.install.area=/opt/IBM/WebSphere/AppServer -Dosgi.configuration.area=/opt/IBM/WebSphere/AppServer/profiles/InfoSphere/configuration -Dosgi.framework.extensions=com.ibm.cds,com.ibm.ws.eclipse.adaptors -Xshareclasses:name=webspherev70_%g,groupAccess,nonFatal -Xscmx50M
在启动过程中相关的日志记录在/opt/IBM/InformationServer/ASBServer/bin/startMetadataServer.log中。移动到AppServer目录下(/opt/IBM/WebSphere/AppServer/bin),检查Server状态
# ./serverStatus.sh -all -username wasadmin -password wasadmin
ADMU0116I: Tool information is being logged in file
/opt/IBM/WebSphere/AppServer/profiles/InfoSphere/logs/serverStatus.log
ADMU0128I: Starting tool with the InfoSphere profile
ADMU0503I: Retrieving server status for all servers
ADMU0505I: Servers found in configuration:
ADMU0506I: Server name: server1
ADMU0508I: The Application Server "server1" is STARTED
这里可以看到Server的状态为STARTED,如果报错
The server "server1" cannot be reached. It appears to be stopped.
请仔细查看 /opt/IBM/WebSphere/AppServer/profiles/InfoSphere/logs目录下的SystemErr.log和SystemOut.log日志文件,引起该问题的原因很多,可能是连接资源库问题、配置文件找不到、密码不对等。
2.2 启动ASB代理程序
$ /opt/IBM/InformationServer/ASBNode/bin/NodeAgents.sh start
Starting LoggingAgent...
LoggingAgent started.
Starting Agent...
Agent started.
当代理进程启动完成后,检查进程信息如果此时没有任何的客户端与服务端通信,ASB代理进程和ASB记录代理进程端口的状态应为为LISTEN,
$ netstat -a|grep 31533
tcp 0 0 *.31533 *.* LISTEN
$ netstat -a|grep 31531
tcp 0 0 *.31531 *.* LISTEN
$ ps -ef|grep -i agent
root 21364806 19202464 0 12:49:27 pts/2 0:02 /opt/IBM/InformationServer/ASBNode/bin/RunAgent -Xbootclasspath/a:conf -Djava.ext.dirs=apps/jre/lib/ext:lib/java:eclipse/plugins:eclipse/plugins/com.ibm.isf.client_8.5.0.0 -Djava.class.path=conf -Djava.security.auth.login.config=/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/auth.conf -Dcom.ibm.CORBA.ConfigURL=file:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/sas.client.props -Dcom.ibm.SSL.ConfigURL=file:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/ssl.client.props -Dcom.ibm.CORBA.enableClientCallbacks=true -Dcom.ibm.CORBA.FragmentSize=128000 -class com/ascential/asb/agent/impl/AgentImpl run
root 9699638 1 1 12:49:25 pts/2 0:02 /opt/IBM/InformationServer/ASBNode/apps/jre/bin/java -Duser.language=en -Duser.country=US -Djava.security.auth.login.config=/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/auth.conf -Dcom.ibm.CORBA.ConfigURL=file:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/sas.client.props -Dcom.ibm.SSL.ConfigURL=file:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/ssl.client.props -Dcom.ibm.CORBA.enableClientCallbacks=true -Dcom.ibm.CORBA.FragmentSize=128000 -classpath /opt/IBM/InformationServer/ASBNode/conf:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/ACS_client.jar:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/ACS_common.jar:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/ISF_util.jar:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/ISF_j2ee.jar:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/ASB_utils.jar:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/ASB_util_client.jar:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/com.ibm.ws.ejb.thinclient_7.0.0.jar:/opt/IBM/InformationServer/ASBNode/eclipse/plugins/com.ibm.isf.client_8.5.0.0/com.ibm.ws.security.crypto.jar com.ascential.acs.logging.agent.LoggingAgentSocketImpl
注意:当ASB启动完成后,需要1分钟左右的时间注册事件到WAS,所以启动完成后不建议立即做像测试数据库连接和加载数据的操作。
2.3 启动DataStage Engine
$ uv -admin -start
启动完Engine进程后,如果没有任何客户端连接,端口的状态应为:LISTEN,并且dsrpcd 守护进程和resource_tracker进程启动。
$ netstat -a|grep dsrpc
tcp4 0 0 *.dsrpc *.* LISTEN
$ ps -ef|grep dsrpc
root 19792368 1 0 13:07:03 pts/2 0:00 /software/IBM/InformationServer/Server/DSEngine/bin/dsrpcd
$ ps -ef|grep resource_tracker
dsadm 10485832 1 0 13:07:19 - 0:00 /software/IBM/InformationServer/Server/PXEngine/bin/resource_tracker
3 停止InfoSphere Information Server进程
建议先停止DataStage Engine,再停止ASB代理,最后在停止WAS。
3.1 停止DataStage Engine
$ ps -ef|grep dsapi
$ ps -ef|grep dscs
$ ps -ef|grep -i phantom
$ netstat -a|grep dsrpc
停止前检查dsapi、dscs、phantom进程应该无任何输出,检查dsrpc端口的只有一条状态为LISTEN的进程,如果有为ESTABLISHED,类似下面的情况则表示当前有客户端连接到了服务端,需要等待客户端关闭连接或者kill了该连接。
tcp4 0 0 testHost.dsrpc 192.168.1.9.sftsrv ESTABLISHED
tcp4 0 0 *.dsrpc *.* LISTEN
客户端关闭连接后停止Engine
$ uv -admin -stop
然后再次检查netstat -a|grep dsrpc 应无任何输出。如果在客户端未关闭的情况下强制停止进程,则未关闭的连接进程状态为wait,这表明Engine未完全停止。
netstat -a|grep dsrpc
tcp4 0 0 estHost.dsrpc 192.168.1.9.sftsrv FIN_WAIT_2
3.2 停止ASB代理程序
$ /opt/IBM/InformationServer/ASBNode/bin/NodeAgents.sh stop
检查ASB代理
$ ps -ef|grep -i agent
输出的结果中应为没有任何包含ASBNode路径的进程信息,如果有请尝试重新停止。
3.3 停止WAS进程
$ /opt/IBM/InformationServer/ASBServer/bin/MetadataServer.sh stop
检查WAS进程
$ ps -ef|grep java
输出的结果中应为没有任何包含ASBServer路径的进程信息,如果有请尝试重新停止。
4 脚步
启动的脚步
echo set dataStage environment...
/opt/IBM/InformationServer/Server/DSEngine/dsenv
echo start WebSphere Application Server
/opt/IBM/InformationServer/ASBServer/bin/MetadataServer.sh start
echo check there are java process are running
ps -ef|grep java
echo start ASB Agent
/opt/IBM/InformationServer/ASBNode/bin/NodeAgents.sh start
echo check the agent has running
ps -ef|grep -i agent
echo start DataStage Services
uv -admin -start
echo checking datastage backgroup process..
ps -ef |grep dsapi
ps -ef|grep dscs
ps -ef|grep -i phantom
ps -ef|grep dsrpc
echo checking datastage dsrpc port
netstat -a|grep dsrpc
echo see any momery segment left
ipcs qms a|grep ade
停止的脚步
echo set dataStage environment...
/opt/IBM/InformationServer/Server/DSEngine/dsenv
echo checking datastage backgroup process..
ps -ef |grep dsapi
ps -ef|grep dscs
ps -ef|grep -i phantom
echo checking datastage dsrpc port
netstat -a|grep dsrpc
echo stop DataStage Services
uv -admin -stop
echo see any momery segment left
ipcs qms a|grep ade
echo check the port again
netstat -a|grep dsrpc
echo stop ASB Agent
/opt/IBM/InformationServer/ASBNode/bin/NodeAgents.sh stop
echo check the agent has stopped
ps -ef|grep -i agent
echo stop WebSphere Application Server
/opt/IBM/InformationServer/ASBServer/bin/MetadataServer.sh stop
echo check there are no java process left behind
ps -ef|grep java
5 总结
ASB代理通信进程协助层与层之间的通信,ASB代理记录进程记录事件信息到元数据存储层的数据库中;DataStage Engine进程是核心进程,它负责创建、管理JOB、cache和资源;WebSphere Application Server(WAS)是InfoSphere Information Server基于Web的应用程序,它负责初始化连接器和基于web的console、infocenter等工具。它们之间互相协调工作,一个组件进程停止工作,会影响其它组件的工作,比如ASB进程停止会影响服务端与客户端的通信,导致客户端的连接断开,各种编辑和保存工作不能正常进行,有可能会导致数据丢失,So认真的理解基础知识和工作原理将会帮你更快更好的掌握DataStage。
--The end(2015-09-24)