本文介绍如何将ODI以及Hadoop结合在一起。在此之前,确保已安装了ODI软件以及搭建好Hadoop环境,也可以参考我的其他博文进行环境搭建。

1、创建目录

[root@hdp06 ~]# hdfs dfs -mkdir -p /user/oracle/odi_home
[root@hdp06 ~]# su - hdfs
[hdfs@hdp06 ~]$ hdfs dfs -chown oracle:oracle /user/oracle
[hdfs@hdp06 ~]$ hdfs dfs -chown oracle:supergroup /user/oracle/odi_home
[hdfs@hdp06 ~]$ hdfs dfs -ls /user/oracle/
drwxr-xr-x   - oracle supergroup          0 2018-03-06 13:59 /user/oracle/odi_home

此目录为ODI HDFS的根目录,如果不创建此目录,则在后续的步骤中会遇到 ODI-26039错误。
将Oracle用户添加到hadoop以及hdfs组:

[root@hdp06 ~]# usermod -G dba,oper,asmdba,hadoop,hdfs oracle

2、Big Data向导

File->New…,选择Big Data Configurations
Configuring Oracle Data Integrator for Cloudera_第1张图片

3、常规设置

Prefix:前缀,默认即可。
Distribution:根据CDH版本进行选择。
Distribution Type:使用默认Normal即可。
Base Directory:/opt/cloudera/parcels/CDH
Technologies:根据实际环境选择相关组件

结果如下图所示:
Configuring Oracle Data Integrator for Cloudera_第2张图片

4、Hadoop设置

Configuring Oracle Data Integrator for Cloudera_第3张图片
Hadoop的DataServer属性配置如下图:
Configuring Oracle Data Integrator for Cloudera_第4张图片
Hadoop的通用设置内容如下:

HADOOP_CLASSPATH=${HADOOP_CLASSPATH:+$HADOOP_CLASSPATH':'}.:/opt/cloudera/parcels/CDH/lib/hive/lib/*:/u01/app/oracle/oraloader/jlib/*:/u01/app/oracle/orahdfs/jlib/*
HADOOP_CLIENT_OPTS=-Dlog4j.debug -Dhadoop.root.logger=INFO,console -Dlog4j.configuration=file:/etc/hadoop/conf.cloudera.yarn/log4j.properties

OLH/OSCH的设置内容如下:

ODCH_HOME=/u01/app/oracle/orahdfs
OLH_FILES=/opt/cloudera/parcels/CDH/lib/hive/lib/hive-contrib.jar
OLH_HOME=/u01/app/oracle/oraloader
OLH_JARS=/opt/cloudera/parcels/CDH/lib/hive/lib/hive-common.jar,/opt/cloudera/parcels/CDH/lib/hive/lib/hive-exec.jar,/opt/cloudera/parcels/CDH/lib/hive/lib/hive-metastore.jar

5、HDFS设置

Configuring Oracle Data Integrator for Cloudera_第5张图片
HDFS的物理方案属性配置如下图:
Configuring Oracle Data Integrator for Cloudera_第6张图片

6、Hive设置

Configuring Oracle Data Integrator for Cloudera_第7张图片
Hive的DataServer属性如下图所示:
Configuring Oracle Data Integrator for Cloudera_第8张图片
Configuring Oracle Data Integrator for Cloudera_第9张图片
Hive的物理方案属性如下图所示:
Configuring Oracle Data Integrator for Cloudera_第10张图片

7、Oozie设置

Configuring Oracle Data Integrator for Cloudera_第11张图片

8、验证设置

Configuring Oracle Data Integrator for Cloudera_第12张图片