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. python静态方法类方法属性方法

    Python的静态方法和类成员方法都可以被类或实例访问,两者概念不容易理清,但还是有区别的: 1)静态方法无需传入self参数,类成员方法需传入代表本类的cls参数: 2)从第1条,静态方法是无法访问 ...

  2. cocos2dx继承结构图

    包含关系 CCDirector->CCScene->CCLayer->CCSprite->CCAction 继承关系 CCObject---CCAction(动作,控制图层运动 ...

  3. 黄聪:VS2010启动程序提示文件加载 使用 简体中文(GB2312)编码加载文件解决办法

    vs2010 错误提示框:文件加载 使用 简体中文(GB2312)编码加载文件C:\Users\Administrator\AppData\Local\Temp\nxhgjasi.5au \Temp\ ...

  4. bootstrap全局css样式

    以下从官网抄来的,感觉还是很实用的,运用得好,灵活运用,非常方便快捷,能大大提高开发效率,也为调整不同尺寸的屏幕节省了时间. hidden-xs @media (max-width: 767px){ ...

  5. Bootstrap-CL:多媒体对象

    ylbtech-Bootstrap-CL:多媒体对象 1.返回顶部 1. Bootstrap 多媒体对象(Media Object) 本章我们将讲解 Bootstrap 中的多媒体对象(Media O ...

  6. python3调用阿里云语音服务

    步骤 1 创建阿里云账号,包括语音服务里的企业实名 为了访问语音服务,您需要有一个阿里云账号.如果没有,可首先按照如下步骤创建阿里云账号: 访问阿里云 官方网站,单击页面上的 免费注册 按钮. 按照屏 ...

  7. JSTL-c:forEach标签详解

    c:forEach基本格式: <c:forEach var="每个变量名字" items="要迭代的list" varStatus="每个对象的 ...

  8. MySQL单机单实例安装脚本

    说明:使用mysql generic tar.gz包快速安装mysql 三个文件installation_of_single_mysql.sh.template_install-my.cnf.mysq ...

  9. Python开发之用户密码存储

    在各种线上应用中,用户名密码是用户身份认证的关键,它的重要性不言而喻.一方面,作为保护用户敏感数据的钥匙来说,一旦被破解,系统将敞开大门完全不设防.另一方面,密码这把钥匙本身就是非常敏感的数据:大多数 ...

  10. OpenCL 第一个计算程序,两向量之和

    ▶ 一个完整的两向量加和的过程,包括查询平台.查询设备.创建山下文.创建命令队列.编译程序.创建内核.设置内核参数.执行内核.数据拷贝等. ● C 代码 #include <stdio.h> ...