-
准备工作
-
准备安装介质
-
需要准备的介质有:
-
IS_11.3.1_LIN_86_ML.zip(服务器介质,上传到linux虚拟机中)
-
IS_DI_11.3.1.1_BSF_ML.zip(证书和图形文件,同样上传到linux虚拟机中)
-
IS_11.3.1_WIN_CLI_ML.zip(windows客户端安装包)
-
Redhat6安装介质
下载地址:链接:https://pan.baidu.com/s/1FoiN1foYMQ1JtT_X608MEg 提取码:ftha
该下载地址中有需要用到的yum软件包,也可以下载下来备用
-
准备虚拟机
准备一台redhat6的虚拟机,安装好系统,配置好网络,关闭并禁用防火墙和selinux。注意:内存至少要6G,虚拟机硬盘最好不小于60G。
-
配置操作系统内核参数
vi /etc/sysctl.conf
在文件中添加一行
kernel.sem =250 256000 32 1024
修改完成后,使用 sysctl -p 命令使其生效
-
修改文件描述符数目
vim /etc/security/limits.conf 在文件末尾添加 * - nofile 10240
-
配置profile文件
vim /etc/profile 在末尾添加export JAVA_COMPILER=NONE,然后重启虚拟机
-
修改yum源
Redhat系统需要修改yum源才能使用yum,使用的命令如下:
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv rhel-source.repo rhel-source.repo.bak
mv CentOS6-Base-163.repo rhel-source.repo
sed -i "s;\$releasever;6;g" rhel-source.repo
yum clean all
yum makecache
-
安装rpm软件包
需要安装的rpm软件包列表如下图所示,这些软件包可以在下载链接中下载到:
新建文件夹/opt/yum,将这些软件包上传到这个文件夹中,然后使用rpm -ivh *.rpm --force --nodeps 命令安装
-
上传压缩包
新建/opt/datastage文件夹,将IS_11.3.1_LIN_86_ML.zip上传到这个文件夹中,然后解压
解压完成之后,进入/opt/datastage/IS_11.3.1_LIN_86_ML/IS_11.3.1_LIN_86_ML/is-suite路径中,将IS_DI_11.3.1.1_BSF_ML.zip上传到这个路径中,然后解压
-
安装datastage服务端
-
使用chmod -R 777 /opt 命令授权,然后进入/opt/datastage/IS_11.3.1_LIN_86_ML/IS_11.3.1_LIN_86_ML/is-suite路径中,使用./setup命令,看到如下图所示文字时,即可在浏览器中访问链接(localhost:localdomain要换成虚拟机的IP地址)
-
语言选择中文,然后点击login
-
等待一段时间后进入入门界面,点击下一步
-
选择我同意,然后点击下一步
-
再次确认防火墙已经关闭,点击下一步
-
早期需求检查,全部通过,点击下一步
-
安装目录可以保持默认,点击下一步
-
选择新的安装,点击下一步
-
三个都勾选上,然后点击下一步
-
点击全选,然后点击下一步
-
勾选我同意,然后点击下一步
-
不勾选,点击下一步
-
选择第一个选项,然后点击下一步
-
DB2安装目录保持默认,点击下一步
-
DB2实例用户也保持默认,点击下一步
提示用户不存在,在linux虚拟机中,使用useradd db2inst1命令添加该用户,然后点击下一步
-
受保护用户信息也保持默认,点击下一步
提示用户不存在,使用useradd db2fenc1命令添加该用户,然后点击下一步
-
输入密码后点击下一步
-
输入密码,点击下一步
-
勾选前三项,然后点击下一步
-
点击下一步
-
点击下一步
-
点击下一步
-
输入密码后点击下一步
-
输入密码后点击下一步
-
端口保持默认,点击下一步
-
输入密码,点击下一步
-
保持默认,点击下一步
-
点击下一步
-
点击下一步
-
勾选服务器,然后点击下一步
-
点击下一步
-
勾选项目,然后点击下一步
-
输入密码,然后点击下一步
-
系统需求检查后有警告,内存警告可以忽略,
查看DB2警告
使用如下命令:
echo 'multilib_policy=all' >> /etc/yum.conf
rpm -qa | grep pam
rpm --erase --nodeps pam-1.1.1-17.el6.x86_64
yum install pam
安装完成之后点击页面中的请再次检查按钮,可以看到此时只有内存一个警告,勾选忽略警告,然后点击下一步
-
点击下一步
-
点击安装按钮开始安装
安装过程可能需要持续较长时间(本次安装时间2小时),当看到下图所示输出时说明安装成功。(注:中途可能会有一次报错提示找不到?.profile文件 ,实际上在给出的路径中有个名为_.profile的文件,将该文件重命名为?.profile之后即可以继续安装)点击完成按钮即可退出安装。
-
Datastage启动
安装好datastage之后,各种服务正常情况下都已经启动,但是如果重启虚拟机,则需要重新启动datastage服务
-
切换到db2inst1用户下使用db2start命令启动db2服务,如果使用db2gcf -s查看显示如下图所示则说明启动成功。(注:db2正常情况下都是开机默认启动的)
-
切换到root用户下,cd /opt/IBM/WebSphere/AppServer/profiles/InfoSphere/bin ,然后执行./startServer.sh server1 (正常情况下开机默认启动)
-
Root用户下, cd /opt/IBM/InformationServer/ASBNode/bin ,./NodeAgents.sh stop
./NodeAgents.sh start
-
Root用户下,cd /opt/IBM/InformationServer/Server/DSEngine/bin ,./uv -admin -stop ./uv -admin -start
-
安装datastage客户端
-
-
解压IS_11.3.1_WIN_CLI_ML.zip文件后,双击IS_11.3.1_WIN_CLI_ML\is-client文件夹中的setup.exe文件
-
等待一段时间后,在浏览器中访问给出的安装url地址
-
点击登录
-
点击下一步
-
点击下一步
-
需求全部通过,点击下一步
-
选择安装目录,然后点击下一步
-
勾选第一个,然后点击下一步
-
选择我接受,然后点击下一步
-
点击下一步
-
点击下一步,后续可以一直点击下一步直至安装完成。安装完成之后桌面会出现datastage的快捷方式。
-
安装oracle客户端
-
新建目录/opt/oracle,将三个压缩包都解压到这个路径下,压缩包下载链接:https://pan.baidu.com/s/1ieOHWlEooDQrICqLz3JHhw 提取码:ny98 解压完成后,在/opt/oracle路径下会生成instantclient_11_2目录,目录中的内容大致如下图所示
- vi /etc/profile ,在文件末尾添加如下内容,然后使用source /etc/profile命令
export ORACLE_HOME=/opt/oracle/instantclient_11_2 export ORACLE_SID=orcl
export SQLPATH=/opt/oracle/instantclient_11_2 export TNS_ADMIN=/opt/oracle
export NLS_LANG=''american_america.ZHS16GBK''
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME
-
在/opt/oracle目录下新建tnsnames.ora文件,文件内容如下,其中服务名和host以及端口号需要根据实际情况修改
orcl = (
DESCRIPTION = (
ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.12.177)(PORT = 1521)
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
-
使用sqlplus system/system@orcl 命令登录(这里system用户的密码是system),如果结果如下图所示则客户端安装完成
-
cd /opt/IBM/InformationServer/Server/DSEngine vi dsenv 在文件末尾添加以下内容,然后重启linux虚拟机,重新启动datastage服务 (只有做了这一步之后才能在后续的作业中正常使用oracle数据源)
export ORACLE_HOME=/opt/oracle/instantclient_11_2
export ORACLE_SID=orcl
export SQLPATH=/opt/oracle/instantclient_11_2
export TNS_ADMIN=/opt/oracle
export NLS_LANG=''american_america.ZHS16GBK''
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export PATH=$PATH:$ORACLE_HOME
-
创建、运行作业
本次作业的作用是,将一个表的数据插入另一张表中
-
准备oracle数据
在oracle数据库中,新建一个用户名和密码为datas/datas的用户,授予该用户DBA权限。然后登陆该用户,在该用户下新建T3和T4两个表,表的结构如下图所示。然后往T3表中插入数据。(注:T4表为空)
-
添加用户凭证
-
在火狐浏览器中访问https://192.168.79.169:9445/ibm/iis/console/ ,其中192.168.79.169是datastage服务器的IP地址(只支持IE浏览器和火狐浏览器访问),输入用户名密码后点击登录按钮
-
登录之后,按下图所示依次点击
-
输入用户名和密码,然后点击右下角的保存并关闭
-
点击Open User Credentials
-
勾选isadmin用户,然后在右侧输入用户名密码dsadm/dsadm,然后点击应用按钮,isadmin用户后就会有dsadm用户,如图所示。添加凭证完成
-
添加映射
在datastage客户端所在的机器上,编辑C:\Windows\System32\drivers\etc路径下的hosts文件,在文件中添加192.168.79.169 LOCALHOST.LOCALDOMAIN,其中192.168.79.169是datastage服务器的IP地址,LOCALHOST.LOCALDOMAIN是datastage服务器的主机名。这里未修改服务器的主机名。
-
新建作业
-
在datastage客户端所在的机器上,双击打开designer客户机快捷方式,如下图所示填写服务器信息、用户名和密码后,就可以在项目中选择项目,然后点击login按钮。
-
登录后的界面如下图所示,点击file-》new,选择parallel job后点击ok
-
从database中拖拽两个DB2 connector到右侧,分别作为源数据库和目标数据库,可以双击connector将它们改名为DB1和DB2
-
再从processing中拖拽一个transformer到两个DB中间
-
点击DB1,然后按住右键不放连接到transformer,就可以看到DB1与transformer之间建立了连线,再按照同样的方法连接transformer与DB2,最后图形如下图所示
-
双击DB1,按照图示填写后点击view data,如果可以看到之前输入的数据则说明配置正确
-
点击columns,按照图示填写后点击OK按钮,可以看到connector0和transformer中间的连线上出现表符号
-
双击transformer,按照图示将每一个字段都拖拽到右下角的DSlink中,然后点击OK按钮
-
双击connector1,按照图示填写后点击OK按钮。至此新建作业完成。
-
运行作业
-
点击工具栏中的运行按钮,提示该作业未编译,询问是否编译,点击是
-
选择要保存到的文件夹,填入作业名称后点击保存按钮
-
自动开始编译,编译成功无错误就会进入运行界面,点击运行按钮
-
等待一段时间后,作业将会运行完成,如果如下图所示,两条连线都是绿色则说明运行成功,此时再去查询T4表,可以看到T4中已经有了T3的数据。说明作业运行成功。
-
导出作业
-
点击上方工具栏中的导出-》datastage组件
-
点击add,选择刚刚新建的作业,然后点击ok
-
选择导出的路径,类型选择XML,然后点击导出按钮。看到提示导出完成后即可在所选的路径中看到导出的 xml文件。
-
问题总结
-
编译job时目标数据源报错
-
问题:编译作业时,目标数据源报错,显示为红色,报错信息提示要设置TZ环境变量
解决方法:在datastage服务器上,vi /etc/profile,在文件末尾添加 export TZ='Asia/Shanghai' 保存后重启服务器
-
编译job时transformer报错
问题:编译作业时,transformer报错,显示为红色,报错信息:Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
解决方法:yum install gcc-c++
-
连接数据库报错
问题:在linux上测试连接数据库时报错ORA-12541:TNS:no listener
解决方式:经检查,数据库服务器的IP地址发生了改变,所以要修改tnsnames.ora文件中的IP地址
-
DB2作业
注:这一部分如果后续要使用DB2数据源才需要做
-
准备DB2数据
-
在datastage服务器中,切换到db2inst1用户下,然后使用db2 create db db1 using codeset utf-8 territory CN命令创建名为db1的数据库,再使用db2命令进入db2命令界面
-
使用connect to db1命令连接到db1数据库
-
创建两个表,命令如下:
create table T1(name char(10) not null primary key,depid smallint,pay bigint)
create table T2(name char(10) not null primary key,depid smallint,pay bigint)
-
在表T1中插入数据,命令如下:
insert into db2inst1.T1(name,depid,pay) values('kkk',110,210)
此时查询T1和T2表结果如下,可以看到此时T1中有数据而T2表中无数据:
-
新建作业
-
在datastage客户端所在的机器上,双击打开designer客户机快捷方式,如下图所示填写服务器信息、用户名和密码后,就可以在项目中选择项目,然后点击login按钮。
-
登录后的界面如下图所示,点击file-》new,选择parallel job后点击ok
-
从database中拖拽两个DB2 connector到右侧,分别作为源数据库和目标数据库
-
再从processing中拖拽一个transformer到两个DB2中间
-
点击connector0,然后按住右键不放连接到transformer,就可以看到connector0与transformer之间建立了连线,再按照同样的方法连接transformer与connector1,最后图形如下图所示
-
双击connector0,按照图示填写后点击view data,如果可以看到之前输入的数据则说明配置正确
-
点击columns,按照图示填写后点击OK按钮,可以看到connector0和transformer中间的连线上出现表符号
-
双击transformer,按照图示将每一个字段都拖拽到右下角的DSlink中,然后点击OK按钮
-
双击connector1,按照图示填写后点击OK按钮。至此新建作业完成。
-
运行作业
-
点击工具栏中的运行按钮,提示该作业未编译,询问是否编译,点击是
-
选择要保存到的文件夹,填入作业名称后点击保存按钮
-
自动开始编译,编译成功无错误会进入运行界面,点击运行按钮
-
等待一段时间后,作业将会运行完成,如果如下图所示,两条连线都是绿色则说明运行成功,此时再去查询T2表,可以看到T2中已经有了T1的数据。说明作业运行成功。