助力大数据集成,且看DataStage新玩法

  4.IBM大数据集成方案带给客户的惊喜

物联网

  五、DataStage连通Hadoop的最佳实践

  在DataStage中,可通过File Connector组件或Big Data File组件来连接Hadoop平台,从而将传统RDBMS数据库或本地文件中的数据加载到HDFS。比较而言,Big Data File组件支持IBM BigInsights,提供更佳的读写性能;而File Connector组件则通过WebHDFS接口或HttpFS接口访问HDFS,不依赖于Hadoop的品牌和版本,提供更广泛的兼容性。

物联网

  FileConnector是DataStage v11.3面向Hadoop的全新组件,提供以下功能:

  可用于读/写Hadoop文件系统(HDFS)

  支持并行处理和线性扩展

  不需要安装其他Hadoop客户端软件包

  支持Kerberos认证

  支持SSL安全访问协议

  支持Knox gateway

  支持通过WebHDFS,HttpFS方式访问Hadoop

  支持访问本地的Hadoop节点

  更全面的支持Hadoop(不依赖于其版本变更)

  下面以Apache Hadoop v2.7为例,介绍通过配置File Connector将Oracle表数据写入HDFS的方法:

  1.安装DataStage v11.3.1(参考以下链接)

  http://www-01.ibm.com/support/knowledgecenter/SSZJPZ_11.3.0/com.ibm.swg.im.iis.install.nav.doc/containers/cont_iis_information_server_installation.html?lang=en

  2.配置Kerberos安全认证

  将Apache Hadoop服务器上的krb5.conf文件(KDC配置信息)复制到DataStage服务器上的/etc目录。

  3.检查Apache Hadoop的HDFS配置文件,确认已启用WebHDFS支持

  如何配置WebHDFS Rest API for Apache Hadoop v2.7:

  http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/WebHDFS.html

  4.配置SSL访问Hadoop

  登陆DataStage服务器,使用keytool命令创建truststore,用于存放来自于Hadoop服务器的SSL安全证书,该truststore名为test.jks, 在/opt目录下

  keytool -genkey -alias test -keystore test.jks -storepass test

  将Hadoop服务器上的SSL证书(例如cert.pem)复制到DataStage服务器

  在DataStage服务器上通过keytool命令导入证书cert.pem

  keytool -import -trustcacerts -alias test -file cert.pem -keystore test.jks -storepass test -noprompt

  用DataStage自带的encrypt.sh命令加密上面所创建truststore的password,得到加密后的二进制密码(例如{iisenc} iWuRnROgFLbk0H1sjfIc7Q==)

  cd /opt/IBM/InformationServer/ASBNode/bin/

  [[email protected] bin]# ./encrypt.sh

  Enter the text to encrypt: test

  Enter the text again to confirm: test

  {iisenc} iWuRnROgFLbk0H1sjfIc7Q==

  在/opt目录下创建一个名为properties.txt的文本文件,添加内容如下

  password={iisenc}iWuRnROgFLbk0H1sjfIc7Q==

  修改DataStage配置文件(dsenv),添加以下环境变量

  DS_TRUSTSTORE_LOCATION=/opt/test.jks

  DS_TRUSTSTORE_PROPERTIES=/opt/properties.txt

  重启DataStage

  5.在DataStage开发客户端中找到File Connector组件

物联网

  6.配置File Connector组件的属性

  通过WebHDFS接口访问Apache Hadoop

  采用Kerberos安全认证(指定Keytab文件)

  采用https协议及相应端口

  将源表数据自动拆分成多个文件并行写入HDFS(为提高性能,利用8个节点同时写数据)

物联网

  7.运行DataStage作业,可看到数据已成功写入Hadoop HDFS

  虽然本次测试是基于虚拟机环境,但DataStage所展现出来的性能依然非常强劲,从Oracle读取4.64亿条记录并写入HDFS,仅需10分钟左右,最高速率达到619495 行/秒。如果增加CPU以提高并行度,性能更可线性增长!

物联网

  在目标端生成的HDFS文件列表(8个子文件):