DataStage 一、安装
DataStage 二、InfoSphere Information Server进程的启动和停止
DataStage 三、配置ODBC
DataStage 错误集(持续更新)
DataStage 四和五因为包含大量图片发布不便,有兴趣学习和研究者请联系索要!!!
以下的内容中使用主机dsconductor01(主导节点)和主机dscompute01(普通节点)实验安装DS集群,分别在主机dsconductor01(主导节点)中安装Metadata repository层、Services层和安装Engine层,然后通过NFS共享方式共享Engine层到主机dscompute01(普通节点)以构建集群环境。内容涉及的安装内容只提供与普通安装方式不同的特别之处,详细的安装信息请参考:DataStage 一、安装, 涉及的错误信息和分析解决方法请参考:DataStage 错误集(持续更新)。
节点名称 | 主机名 | 网卡1 | 网卡2 | 网卡3 |
---|---|---|---|---|
NAS Server、Domain Server和主导节点(Conductor Node) | dsconductor01 | NAT 网卡 MAC:080027A3E845 随机启动:否 |
桥接网卡 MAC:0800279A5C02 随机启动:是 IP ADDRESS:192.168.1.240 Subnet Mask: 255.255.255.0 Default Gateway: 192.168.1.254 DNS1:8.8.8.8 |
Host Only MAC:08002758AB78 随机启动:否 |
普通节点 | dscompute01 | NAT 网卡 MAC:080027BCEDD9 随机启动:否 |
桥接网卡 MAC:080027166721 随机启动:是 IP ADDRESS:192.168.1.241 Subnet Mask: 255.255.255.0 Default Gateway: 192.168.1.254 DNS1:8.8.8.8 |
Host Only MAC:080027129082 随机启动:否 |
节点命名规则
添加主节点命名:DS_Conductor(nn);
添加普通节点命名:DS_Compute(nn);
以上nn表示从00开始的数字编号,比如现有的节点命名为DS_Compute01,则后续的节点命名依次+1:DS_Compute02,以此类推。
在两台机上配置hostname。
vi /etc/hosts
192.168.1.240 dsconductor01 dsconductor01
192.168.1.241 dscompute01 dscompute01
在hosts文件中配置了Server信息,这样当DNS Server错误时集群内的成员依然可以互相连通。
在集群环境中节点间的通信是通过SSH完成,工作时主导节点向普通节点发送指令,普通节点根据收到的的指令执行。在本实验中主导节点是dsconductor01,普通节点是dsconductor01,以下实现主导节点生成rsa key,实现与普通节点无密码的ssh通信。
[dsadm@dsconductor01 .ssh]$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/dsadm/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/dsadm/.ssh/id_rsa.
Your public key has been saved in /home/dsadm/.ssh/id_rsa.pub.
The key fingerprint is:
20:07:c4:47:e6:6e:49:60:9c:0d:5c:b4:83:be:f2:c7 dsadm@dsconductor01
The key's randomart image is:
+--[ RSA 2048]----+
| =*B= |
| .=*o. |
| o.B |
| . = + |
| . + S |
| o |
| . .. |
| o E |
| .. |
+-----------------+
把key发送到普通节点上
$ cd /home/dsadm/.ssh/
[dsadm@dsconductor01 .ssh]$ ssh-copy-id -i id_rsa.pub dsadm@dscompute01
The authenticity of host 'dscompute01 (192.168.1.241)' can't be established.
RSA key fingerprint is cd:e1:43:fe:94:2a:87:d4:7a:3a:6a:45:d9:42:ed:e1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'dscompute01,192.168.1.241' (RSA) to the list of known hosts.
dsadm@dscompute01's password:
Now try logging into the machine, with "ssh 'dsadm@dscompute01'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
在普通节点上将收到的ssh rsa key 加入到zuthorized_keys文件中,因为我使用的是Centos 6.7,实验后发现可以省略此步骤。
在主节点上验证ssh无密码登录到普通节点
[dsadm@dsconductor01 ~]$ ssh dsadm@dscompute01
Last login: Wed Oct 21 16:01:15 2015 from 192.168.1.240
[dsadm@dscompute01 ~]$
在每个上创建相同的目录并赋权限用于NAS共享。
mkdir -p /disk2/IBM
chmod 775 /disk2/IBM
mkdir -p /disk2/IBM/EngineTier
chmod 775 /disk2/IBM/EngineTier
vi /etc/exports
/disk2/IBM/EngineTier dscompute01(rw,no_root_squash,async)
将NAS目录共享给普通节点(dscompute01),rw表示允许节点读写目录;no_root_squash表示运行NFS的客户端可以以root用户连接;
/etc/init.d/nfs stop
/etc/init.d/nfs start
[root@dsconductor01 ~]# service nfs status
rpc.svcgssd is stopped
rpc.mountd (pid 2599) is running...
nfsd (pid 2615 2614 2613 2612 2611 2610 2609 2608) is running...
rpc.rquotad (pid 2594) is running...
以root用户登录到普通节点服务器上,修改/etc/fstab文件,添加如下的内容
dsconductor01:/opt/IBM/EngineTier /opt/IBM/EngineTier nfs rw,nolock 0 0
添加后的文件内容
[root@dscompute01 ~]# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Oct 20 11:23:49 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=798805f7-42ce-4ca5-a5c0-82faff851c20 / ext4 defaults 1 1
UUID=cbe05f3f-de9a-4869-810c-a907fcd1eec3 /boot ext4 defaults 1 2
UUID=334950d1-28fc-4c53-a907-e72df5700dbf /home ext4 defaults 1 2
UUID=7456663e-f29c-49f5-8e22-d5eeb074a2d3 /tmp ext4 defaults 1 2
UUID=e3112a5f-fa27-4fe9-9691-bc562924bf78 /usr ext4 defaults 1 2
UUID=0fcbbb57-c0dd-49fa-829d-61a46df96182 /var ext4 defaults 1 2
UUID=fa5fbeb0-2343-4dda-8cfd-eda72cac27a9 swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
dsconductor01:/opt/IBM/EngineTier /opt/IBM/EngineTier nfs rw,nolock 0 0
# mount dsconductor01:/opt/IBM/EngineTier /opt/IBM/EngineTier
mount 后检查
[root@dscompute01 ~]# mount
/dev/sda8 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/sda3 on /home type ext4 (rw)
/dev/sda6 on /tmp type ext4 (rw)
/dev/sda2 on /usr type ext4 (rw)
/dev/sda5 on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
dsconductor01:/disk2/IBM/EngineTier on /disk2/IBM/EngineTier type nfs (rw,vers=4,addr=192.168.1.240,clientaddr=192.168.1.241)
首先先,因为有实验只用了两台服务器,so 这里将资源库层和Server层安装在同一个目录(/disk2/IBM/InformationServer)下,安装结束后再将Engine Tier安装在另一个目录(/disk2/IBM/EngineTier)下,这样很清晰的了解各个层的情况,并且Engine层也可以通过NFS的方式共享到所有的普通节点中。
选择安装路径为:/disk2/IBM/InformationServer;
在安装产品中选择Metadata repository和Services,接着配置WAS用户信息和资源库信息然后开始安装,具体的安装过程请参考:DataStage 一、安装
注意:如果想使用Oracle数据库做为资源库,必须在安装DS软件前安装好Oracle软件并配置好环境变量,DS软件安装过程中会检测这些信息,然后动态调整安装的可选项。
安装完Metadata repository层和Services层后重启安装程序安装Engine层;
选择安装路径为:/disk2/IBM/EngineTier;
在安装产品中选择Engine,接着配置WAS用户信息和资源库信息然后开始安装,具体的安装过程请参考:DataStage 一、安装
注意:安装过程中可能会因为缺少包或临时发生错误而停止,通常时有提示信息你可以查看到一部分错误信息,然后选择重试或忽略错误继续按照或终止安装,遇到这样的问题请认真阅读错误提示和查看日志,日志的路径通常在/tmp/ibm_is_logs/目录下,有些错误是可以及时解决然后重试的,也有可能是服务器原因导致的异常,比如某些资源无响应等,尝试重新安装。
Metadata repository层、Services层和Engine层都安装成功后,检查进程信息、配置DS环境变量、Oracle环境变量以及关于集群的一些配置。如何检查进程信息请参考:DataStage 二、InfoSphere Information Server进程的启动和停止
在root和dsadm用户profile文件配置如下ds环境变量信息
export DSHOME=/disk2/IBM/EngineTier/Server/DSEngine
export APT_ORCHHOME=/disk2/IBM/EngineTier/Server/PXEngine
export APT_CONFIG_FILE=/disk2/IBM/EngineTier/Server/Configurations/default.apt
export PATH=$PATH:$DSHOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DSHOME/lib:$APT_ORCHHOME/lib
. $DSHOME/dsenv
在oracle用户profile文件和$DSHOME/dsenv中配置如下Oracle变量信息
ORACLE_HOME=/disk2/oracle/product/11.2.0 ; export ORACLE_HOME
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib ; export LD_LIBRARY_PATH
NLS_LANG=AMERICAN_AMERICA.AL32UTF8 ; export NLS_LANG
PATH=$PATH:$ORACLE_HOME/bin ; export PATH
对于$DSHOME/dsenv文件内容的更改必须重启Engine生效。关于如何重启Engine,请参考:DataStage 二、InfoSphere Information Server进程的启动和停止
当集群节点工作时,datastage parallel engine搜索如下可执行文件:
1. $APT_ORCHHOME/etc/remsh (if it exists)
2. /user/lpp/ssp/rcmd/bin/rsh (AIX only)
3. /usr/ucb/rsh
4. /usr/bin/remsh 5. /bin/remsh 6. /usr/bin/rsh
在这里$APT_ORCHHOME/etc/remsh最先被查找,如果你的机器上没有安装rsh,那么使用ssh代替rsh是比较好的选择;
#cat /disk2/IBM/EngineTier/Server/PXEngine/etc/remsh
#!/bin/sh
exec /usr/bin/ssh "$@"
还有设置文件的权限
chown dsadm:dstage remsh
chmod 755 remsh
要使用集群资源先要创建集群配置文件然后应用到项目或某个job中,打开IBM InfoSphere DataStage and QualityStage Designer,选择Tools=》Configurations新建一个配置文件
n ode: 节点的逻辑名称, 通常情况下根据此节点本身具有的功能来定义。 配置文件中不能包含多个相同的 节点名字。
Fastname: 机器的 host name
Pools: 定义了这个节点被分配到的节点 pool 的名称, 一个节点可以分配到多个节点 pool 中。 因此这里的 pools 可以有多个值。 如果这个值为空, 那么将使用默认 pool, 默认 pool 对所有的 stage 都是可用的
resource disk: 定义了这个节点用来存储持久数据的存储资源
resource scratchdisk: 定义了这个节点用来存储临时数据的存储资源
保存配置文件,单击Check按钮检查配置文件的正确性和在定义的节点上的可用性,如果没有任何错误,检查的返回结果信息大概如下:
##I IIS-DSEE-TFCN-00001 20:15:20(000) <main_program>
IBM InfoSphere DataStage Enterprise Edition 9.1.0.6791
Copyright (c) 2001, 2005-2012 IBM Corporation. All rights reserved
##I IIS-DSEE-TFCN-00009 20:15:20(001) <main_program> The timezone environment variable TZ is currently not set in your environment which can lead to significant performance degradation. It is recommended that you set TZ=:/etc/localtime in your environment.
##I IIS-DSEE-TUTL-00031 20:15:20(002) <main_program> The open files limit is 1024; raising to 4096.
##I IIS-DSEE-TFCN-00006 20:15:20(003) <main_program> conductor uname: -s=Linux; -r=2.6.32-573.7.1.el6.x86_64; -v=#1 SMP Tue Sep 22 22:00:00 UTC 2015; -n=dsconductor01; -m=x86_64
##I IIS-DSEE-TCOA-00067 20:15:20(004) <main_program> OS charset: UTF-8.
##I IIS-DSEE-TCOA-00068 20:15:20(005) <main_program> Input charset: UTF-8.
##I IIS-DSEE-TFSC-00001 20:15:20(006) <main_program> APT configuration file: /disk2/IBM/EngineTier/Server/Configurations/cluster01.apt
##I IIS-DSEE-TUTL-00031 20:15:20(000) <node_node2> The open files limit is 1024; raising to 4096.
##I IIS-DSEE-TOIX-00059 20:15:20(000) <APT_RealFileExportOperator1 in APT_FileExportOperator,0> Export complete; 4 records exported successfully, 0 rejected.
##I IIS-DSEE-TFSC-00010 20:15:20(007) <main_program> Step execution finished with status = OK.
##I IIS-DSEE-TCOA-00071 20:15:20(008) <main_program> Total virtual memory on node node2 is 3,926.09 MB.
.
##I IIS-DSEE-TCOA-00071 20:15:20(009) <main_program> Config file checker on node node2 reports 0 error(s), 0 warning(s).
.
##I IIS-DSEE-TCOA-00071 20:15:20(010) <main_program> Total virtual memory on node node1 is 5,879.58 MB.
.
##I IIS-DSEE-TCOA-00071 20:15:20(011) <main_program> Config file checker on node node1 reports 0 error(s), 0 warning(s).
.
##I IIS-DSEE-TCOA-00072 20:15:20(012) <main_program> 0 error(s) detected.
##I IIS-DSEE-TCOA-00073 20:15:20(013) <main_program> 0 warning(s) detected.
如果你想整个项目使用同一个集群配置文件,则需要在项目层面上配置集群配置文件,打开IBM InfoSphere DataStage and QualityStage Administrator,登录选择项目后进入Properties,在General选项中单击Environment,在APT_CONFIG_FILE选项中配置集群配置文件
如果你想将集群配置文件应用于某个JOB,在IBM InfoSphere DataStage and QualityStage Designer中选择JOB右击选择Properties,在Parameters中单击Add Environment Variable,单击APT_CONFIG_FILE,然后双击Default value选择集群配置文件;
注意:当JOB配置了APT_CONFIG_FILE,DS使用该配置文件,如果没有则使用项目中配置的配置文件,如果项目没有配置则使用default.apt配置文件。
JOB编译完成后单击运行按钮,ds会提示配置文件和其它引用的参数信息;
运行的日志中也会输出ds使用的集群配置文件和其它相关信息;
安装前确定好安装集群软件的方式和配置好各个节点与主导节点的通信,Engine层可以在主导节点通过NFS共享给普通节点、SAS和在每个普通节点安装Engine的方式实现,NFS共享的方式相对灵活很多,也便于Engine层的升级和更新,但缺点就是当集群中有很多个节点时,网络会影响集群环境,可以考虑将Engine层安装到独立的、快速的存储设备上,并保证网络的带宽和畅通信来解决这些瓶颈。另一个方式是在主导节点安装好Engine层后,将Engine层的安装文件拷贝到集群中的普通节点中的相同目录下,但这会引发一些问题,比如报“parallel job reports failure (code 139)”错误,没有多少日志可以分析它方生了什么错误,发生在什么地方,这会增加分析、解决问题的负担,建议如果集群规模比较小时考虑使用NFS的方式安装。
--The end(2015-10-28)