DataStage序列文章

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)

DataStage 二、InfoSphere Information Server进程的启动和停止的更多相关文章

  1. 本地计算机上的SQL Server(MSSQLSERVER)服务启动后停止。某些服务在未由其他服务或程序使用时将自动停止

    看下SQLExperss协议和 MySQLServer协议的TCP/IP端口,有可能是SQLEXPERSS将TCP端口占用了,将SQLEXPERSS的TCP/IP协议禁用,重启 SQLEXPRESS服 ...

  2. SQL Server2008 R2命令行启动及停止SQL服务的方法

    ===================================================== 在 SQL Server中,想要启动或停止SQL Server服务,通过SQL Server ...

  3. Android系统启动流程(二)解析Zygote进程启动过程

    1.Zygote简介 在Android系统中,DVM(Dalvik虚拟机).应用程序进程以及运行系统的关键服务的SystemServer进程都是由Zygote进程来创建的,我们也将它称为孵化器.它通过 ...

  4. ADB模块源码分析(二)——adb server的启动

    1. ADB Server的启动 前面我们讲到adb模块的源码在system/core/adb下面,通过查看Android.mk文件我们了解到这个adb 模块回编译生成连个可执行文件adb.adbd, ...

  5. [转]❲阮一峰❳Linux 守护进程的启动方法

    ❲阮一峰❳Linux 守护进程的启动方法 "守护进程"(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问题的由来 ...

  6. Android系统在新进程中启动自定义服务过程(startService)的原理分析

    在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验.Android系统为我们提供了一个Service类,我们可以实现 ...

  7. vnc server配置、启动、重启与连接

    目前有两种比较流行的方式:XDM(X display manager)方案和VNC方案,而我个人比较倾向于VNC方案,一是因为VNC方案配置起来相对比较容易,二是VNC方案支持多种连接方式,比如通过浏 ...

  8. 【Linux】- 守护进程的启动方法

    转自:Linux 守护进程的启动方法 Linux中"守护进程"(daemon)就是一直在后台运行的进程(daemon). 本文介绍如何将一个 Web 应用,启动为守护进程. 一.问 ...

  9. Linux如何查看进程、杀死进程、启动进程等常用命令

    Linux如何查看进程.杀死进程.启动进程等常用命令 关键字: linux 查进程.杀进程.起进程1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括 ...

随机推荐

  1. 2018-2019-2 《网络对抗技术》Exp1 PC平台逆向破解 20165222

    Exp1 PC平台逆向破解 1,掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码 NOP:空指令,作用就是直接跳到下一指令.机器码为:90. JNE:判断0标志位,不等于0跳转.机器码 ...

  2. 文件和I/O流

    版权声明:本文为[博主](https://zhangkn.github.io)原创文章,未经博主同意不得转载.https://creativecommons.org/licenses/by-nc-sa ...

  3. TASKER 定制你的手机让它在办公室时屏幕 30 分钟才灭

    TASKER 定制你的手机让它在办公室时屏幕 30 分钟才灭 因为到的办公室,手机一直是充电的,不想屏幕太快关关掉,所以使用 TASKER 做了一个条件. 当 WIFI 连接到公司 WIFI 且充电中 ...

  4. 几个与JVM相关的JDK工具:jps, jstat, jmap

    在项目中遇到OOM(Out of Memory)的问题,为了分析内存和JVM的垃圾回收器GC问题,一并把JVM相关的一些工具也研究了一下: jps:Java进程查看工具,实际上它和Unix/Linux ...

  5. Tomcat 7 的七大新特性(更容易将Tomcat内嵌到应用去中去 )

    Tomcat的7引入了许多新功能,并对现有功能进行了增强.很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们,或指出它们的不足,或提供代码示例.本文将明确描述TOMCAT 7中七个最显 ...

  6. 学习blus老师js(3)--定时器的使用

    1.无缝滚动——基础 物体运动基础 让Div移动起来 offsetLeft的作用 用定时器让物体连续移动   offsetLeft: 获取物体的左边距:最大的优点在于可以综合考虑所有影响这个物体位置的 ...

  7. java批量下载,将多文件打包成zip格式下载

    现在的需求的: 根据产品族.产品类型,下载该产品族.产品类型下面的pic包: pic包是zip压缩文件: t_product表: 这些包以blob形式存在另一张表中: t_imagefile表: 现在 ...

  8. Bootstrap-Other:v2 教程

    ylbtech-Bootstrap-Other:v2 教程 1.返回顶部 1. Bootstrap v2 教程 Bootstrap,来自 Twitter,是基于 HTML.CSS.JAVASCRIPT ...

  9. sql在外键存在的情况下删除表

    SQL Server 批量 停用/启用 外键约束 今天百度知道上面,看到这样一个要求: 现在有一个库,有很多张表想要删除一张表的记录的时候,由于外键关联太多,所以,没法删除相应的记录,谁能帮忙写个存储 ...

  10. 分布式锁实践(一)-Redis编程实现总结

    写在最前面 我在之前总结幂等性的时候,写过一种分布式锁的实现,可惜当时没有真正应用过,着实的心虚啊.正好这段时间对这部分实践了一下,也算是对之前填坑了. 分布式锁按照网上的结论,大致分为三种:1.数据 ...