DataStage 六、安裝和部署集群環境


DataStage序列文章

DataStage 一、安裝
DataStage 二、InfoSphere Information Server進程的啟動和停止
DataStage 三、配置ODBC
DataStage 錯誤集(持續更新)
DataStage 四和五因為包含大量圖片發布不便,有興趣學習和研究者請聯系索要!!!

說明

以下的內容中使用主機dsconductor01(主導節點)和主機dscompute01(普通節點)實驗安裝DS集群,分別在主機dsconductor01(主導節點)中安裝Metadata repository層、Services層和安裝Engine層,然后通過NFS共享方式共享Engine層到主機dscompute01(普通節點)以構建集群環境。內容涉及的安裝內容只提供與普通安裝方式不同的特別之處,詳細的安裝信息請參考:DataStage 一、安裝, 涉及的錯誤信息和分析解決方法請參考:DataStage 錯誤集(持續更新)

安裝DS集群的步驟

  1. 分配集群服務器IP
  2. 配置集群節點服務器與主導節點服務器節點的通信(配置/etc/hosts和ssh)
  3. 確定集群安裝方式,創建NAS共享目錄
  4. 在集群節點服務器中導入和mount主導節點的NAS共享目錄
  5. 安裝Metadata repository層和Services層
  6. 安裝Engine層
  7. 配置DS和數據庫軟件環境變量
  8. 創建和配置集群配置文件

1 DS集群IP分配信息

節點名稱 主機名 網卡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,以此類推。

2 DS集群安裝前的配置

2.1 配置hosts

在兩台機上配置hostname。

vi /etc/hosts

192.168.1.240 dsconductor01 dsconductor01
192.168.1.241 dscompute01 dscompute01

在hosts文件中配置了Server信息,這樣當DNS Server錯誤時集群內的成員依然可以互相連通。

2.2 SSH配置

在集群環境中節點間的通信是通過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 ~]$ 

2.3 創建NAS共享目錄

在每個上創建相同的目錄並賦權限用於NAS共享。

mkdir -p /disk2/IBM
chmod 775 /disk2/IBM
mkdir -p /disk2/IBM/EngineTier
chmod 775 /disk2/IBM/EngineTier

2.4 DataStage主節點構建

vi /etc/exports 

/disk2/IBM/EngineTier dscompute01(rw,no_root_squash,async)

將NAS目錄共享給普通節點(dscompute01),rw表示允許節點讀寫目錄;no_root_squash表示運行NFS的客戶端可以以root用戶連接;

2.4.1 重啟NFS

/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...

2.5 在DataStage節點上導入共享目錄

以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 

2.5.1 Mount 共享目錄

# 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)

3.安裝DS集群軟件

首先先,因為有實驗只用了兩台服務器,so 這里將資源庫層和Server層安裝在同一個目錄(/disk2/IBM/InformationServer)下,安裝結束后再將Engine Tier安裝在另一個目錄(/disk2/IBM/EngineTier)下,這樣很清晰的了解各個層的情況,並且Engine層也可以通過NFS的方式共享到所有的普通節點中。

3.1 安裝Metadata repository層和Services層


選擇安裝路徑為:/disk2/IBM/InformationServer;

在安裝產品中選擇Metadata repository和Services,接着配置WAS用戶信息和資源庫信息然后開始安裝,具體的安裝過程請參考:DataStage 一、安裝
注意:如果想使用Oracle數據庫做為資源庫,必須在安裝DS軟件前安裝好Oracle軟件並配置好環境變量,DS軟件安裝過程中會檢測這些信息,然后動態調整安裝的可選項。

3.2 安裝Engine層

安裝完Metadata repository層和Services層后重啟安裝程序安裝Engine層;

選擇安裝路徑為:/disk2/IBM/EngineTier;

在安裝產品中選擇Engine,接着配置WAS用戶信息和資源庫信息然后開始安裝,具體的安裝過程請參考:DataStage 一、安裝


注意:安裝過程中可能會因為缺少包或臨時發生錯誤而停止,通常時有提示信息你可以查看到一部分錯誤信息,然后選擇重試或忽略錯誤繼續按照或終止安裝,遇到這樣的問題請認真閱讀錯誤提示和查看日志,日志的路徑通常在/tmp/ibm_is_logs/目錄下,有些錯誤是可以及時解決然后重試的,也有可能是服務器原因導致的異常,比如某些資源無響應等,嘗試重新安裝。


4 安裝結束后的操作

Metadata repository層、Services層和Engine層都安裝成功后,檢查進程信息、配置DS環境變量、Oracle環境變量以及關於集群的一些配置。如何檢查進程信息請參考:DataStage 二、InfoSphere Information Server進程的啟動和停止

4.1 配置DS環境變量

在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

4.2 配置Oracle環境變量

在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進程的啟動和停止

4.3 配置集群遠程shell

當集群節點工作時,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

5 集群配置文件

要使用集群資源先要創建集群配置文件然后應用到項目或某個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.

5.1 集群配置文件在項目中的應用

如果你想整個項目使用同一個集群配置文件,則需要在項目層面上配置集群配置文件,打開IBM InfoSphere DataStage and QualityStage Administrator,登錄選擇項目后進入Properties,在General選項中單擊Environment,在APT_CONFIG_FILE選項中配置集群配置文件

5.2 集群配置文件在JOB中的應用

如果你想將集群配置文件應用於某個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配置文件。

6 編譯運行JOB

JOB編譯完成后單擊運行按鈕,ds會提示配置文件和其它引用的參數信息;

運行的日志中也會輸出ds使用的集群配置文件和其它相關信息;

7 總結

安裝前確定好安裝集群軟件的方式和配置好各個節點與主導節點的通信,Engine層可以在主導節點通過NFS共享給普通節點、SAS和在每個普通節點安裝Engine的方式實現,NFS共享的方式相對靈活很多,也便於Engine層的升級和更新,但缺點就是當集群中有很多個節點時,網絡會影響集群環境,可以考慮將Engine層安裝到獨立的、快速的存儲設備上,並保證網絡的帶寬和暢通信來解決這些瓶頸。另一個方式是在主導節點安裝好Engine層后,將Engine層的安裝文件拷貝到集群中的普通節點中的相同目錄下,但這會引發一些問題,比如報“parallel job reports failure (code 139)”錯誤,沒有多少日志可以分析它方生了什么錯誤,發生在什么地方,這會增加分析、解決問題的負擔,建議如果集群規模比較小時考慮使用NFS的方式安裝。

--The end(2015-10-28)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM