分类: Linux

最近,做了几个ODI项目的部署,发现ODI agent所在的位置对整个E-LT工作的影响还是比较大的,根据Oracle的官方说法,agent一般需要部署在目标端的数据库服务器上,或者repository数据库服务器上(如果repository直接采用目标服务器就更简单了),但在实际的使用中,建议尽量还是将agent部署在目标端所在的服务器上。

一、agent的分类

在ODI中,有三类agent,一是/bin目录下直接运行agent.sh或agent.bat,该类agent只能被动调用。

二是/bin目录下的agentscheduler.sh/agentscheduler.bat,从名字可以看出,它可以自动执行计划好的工作,第三类是designer.bat设计界面,该界面在调试时可以自己作为一个agent来运行。其中第一类和第三类agent不需要修改任何东西。第一类直接运行agent.sh/agent.bat就可以了,第三类什么都不用起,只是在测试interface或者package时才会用到。

二、agent不同部署方式带来的区别

如上图所示,如果agent部署在repository(以下简称元数据服务器)上,而元数据服务器又和目标数据库不在一个服务器上,那么命令的流向(途中红色线)为:agent首先登录到源数据库,抽取数据,取到元数据库所在的服务器,然后agent再登录到目标服务器,将数据加载到目标数据库。数据的流向为:源数据库到元数据服务器到目标数据库。

如果我们将agent部署在目标服务器,如下图所示,此时,数据流会从源直接流向目标,agent在目标端可以利用目标端数据库的内置客户端工具直接将数据加载到数据库,从而避开JDBC调用。

Agent说白了就是一个java小程序,既可以通过jdbc driver作为源和目标数据库的客户端登录到数据库服务器操作,也可以调用本地操作系统的命令,因此odi在数据的E-LT过程中,最简单但效率最低的方法是完全采用JDBC方式抽取、加载数据。最快的方式是采用数据库的内置客户端命令抽取加载数据,如DB2的load,sqlserver的bcp,oracle的sqlloader。当然要调用数据库客户端,agent所在的机器必须有相应数据库的客户端软件。下面是几个agent部署的例子:

  1. 1.       AS400上文件加载到DB2:

具体解释请参见上面的英文,这是在oracle openworld的pdf里面截出来的。

  1. 2.       远程文件入库:

此时agent应该安装在文件所在的服务器,而且该机器需要安装目标端数据库的客户端。

  1. 3.       远程同构数据库,该方式下,数据一般是在数据库内部流动,如oracle的dblink,sqlserver的linked server,sybase的CIS,agent的位置无所谓,但仍建议在目标端。

  1. 4.       远程异构数据库集成,此时agent的配置是比较讲究的,如果数据的抽取和加载都采用数据库的内置客户端,那么如果agent在源数据库端,则源数据库端需要安装目标数据库的客户端,反之亦然。当然ODI内置了一个基于JDBC数据库抽取工具sqlunload,如果目标端是生产系统,客户不允许部署任何东西,建议采用该工具,效率还是不错的。

三、如何安装agent

ODI的agent安装比较简单:

  1. 1.       将安装ODI机器设计界面的服务器上ODI目录下/bin,/drivers和/lib目录直接拷贝到目标或者源服务器上。
  2. 2.       在服务器上如果没有jdk1.5或以上,建议安装jdk1.5或以上。
  3. 3.       指定ODI_JAVA_HOME环境变量,或者修改odiparams.bat/odiparams.sh到JDK的安装目录。
  4. 4.       如果不需要schedule的工作,直接执行 /bin目录下的agent.sh/agent.bat即可,该程序默认端口为20910,如果需要指定别的端口,则运行agent.bat –name= -port=
  5. 5.       如果需要运行schedule的工作,则首先需要修改odiparams.bat/odiparams.sh文件,把其中连接master repository的一段修改成您自己的driver和url,如下所示:

JDBC driver to access the Master Repository:

set ODI_SECU_DRIVER=oracle.jdbc.driver.OracleDriver

JDBC URL to access the Master Repository:

set ODI_SECU_URL=jdbc:oracle:thin:@1.128.5.52:1521:ORADB

Database Username to access the Master Repository:

set ODI_SECU_USER=odi1013m

Database Password to access the Master Repository:

set ODI_SECU_ENCODED_PASS=b9yHYSNunqZvoreC6aoF0Vhef

Name of the Work Repository:

set ODI_SECU_WORK_REP=WORKREP1

ODI Username for ODI Security:

set ODI_USER=SUPERVISOR

ODI Password for ODI Security:

set ODI_ENCODED_PASS=LELKIELGLJMDLKMGHEHJDBGBGFDGGH

特别注意这是链接master repository的信息,和您启动designer登录时的信息一模一样,您可以从designer的登录界面里面copy过来。

这些参数中有两个加密过的密码,具体的加密方法为,到您刚才copy过来的/bin目录下,运行 ./agent.sh encode  <您的密码>,然后将加密过的字符copy到odiparams.sh中相应的位置即可。

另外要特别注意的是copy的/drivers目录下是连接所有源、目标以及元数据库服务器的jdbc driver,如果您的整个架构中加入了新的数据源,千万别忘了把相应的jdbc文件copy到所有agent所在服务器的drivers目录下。

在一个ODI生产环境中,可以根据需要配置多个agent,不一定是一个。

转载于:https://www.cnblogs.com/lcword/p/5289068.html

关于ODI agent的配置部署相关推荐

  1. Sonic 开源移动端云真机测试平台 - 设备中心接入安卓设备实例演示,Agent端服务部署过程详解

    Sonic 开源移动端云真机测试平台 - Agent端服务部署与安卓设备接入演示 一加8手机连接效果图展示 第一章:环境准备 ① agent-sources 资源包下载 ② Android SDK安装 ...

  2. 周末直播丨细致入微 - OEM Grid Control 配置部署与使用

    EM(企业管理器)作为Oracle图形化的监控运维工具,从EM8i到EM12c,Oracle公司不断拓展和丰富企业管理器的功能.从最初始的只针对Oracle数据库的日常监控和诊断等运维管理功能,到目前 ...

  3. Linux puppet的安装配置部署

    一.puppet简介 puppet是一个为实现数据中心自动化管理而设计的配置管理软件,能够管理IT基础设施的整个生命周期:供应(provisioning)配置(configuration).联动(or ...

  4. Jenkins详细安装配置部署--超详细

    Jenkins详细安装配置部署--超详细 一.什么是CI/CD 二.Gitlab内置持续集成 持续集成(CI) 持续交付(CD) 2.1 Gitlab的CI/CD优势 2.2 Gitlab的CI/CD ...

  5. 【EMCC】 12.1.0.5 OEM server agent 安装配置及监控MySQL数据库

    [EMCC]Oracle Enterprise Manager Cloud Control 12.1.0.5 OEM server agent 安装配置及监控MySQL数据库 原文: https:// ...

  6. Centos7_ELK5.4.1配置部署

    Centos7_ELK5.4.1配置部署 一.概念 1.核心组成 ELK由Elasticsearch.Logstash和Kibana三部分组件组成: Elasticsearch是个开源分布式搜索引擎, ...

  7. 大数据2 Hadoop伪分布模式配置部署

    为什么80%的码农都做不了架构师?>>>    Hadoop伪分布模式配置部署 一.实验环境说明 注意:本实验需要按照上一节单机模式部署后继续进行操作 1. 环境登录 无需密码自动登 ...

  8. Project Server 2003配置部署指南_百度文库

    Project Server 2003配置部署指南_百度文库 Project server 2003配置部署指南 - 网管地带 - IT博客

  9. zabbix agent监控主机配置

    zabbix agent监控主机配置 环境说明 系统版本    CentOS 7.2 x86_64 软件版本    zabbix 3.0.18 1.监控zabbix服务器端 1.1 安装zabbix- ...

最新文章

  1. 电脑显示没有被指定在上运行_win10系统运行程序提示“dll没有被指定在windows上运行”的办法...
  2. Android群英传笔记——第四章:ListView使用技巧
  3. s6-1 传输层概述
  4. 第九届蓝桥杯省赛--快速排序
  5. 我做 Fiori 开发经常使用的几个系统,不同的 SAP UI5 版本
  6. 使用report COM_PRODUCT_DELETE_SINGLE删除product
  7. SQL--查询无记录,显示默认一条记录
  8. (36)JS运动之使物体向右运动
  9. java 修饰关键字_java——关键字以及修饰属性
  10. java json字符串转对象
  11. 【阿里云播放器】AliyunPlayerTest.exe 播放mp4日志 win7
  12. 一次函数的斜率公式_斜率K的公式?
  13. Android读取服务器图片
  14. TCP/UDP/IP/Socket的定义
  15. oracle风扇设置,HP DL380 G6风扇满速原因
  16. 服务器系统安装——以Dell R710为例
  17. 墨竹:黄金如期狂泻还稳居此枢轴点?成败在此一举!
  18. uniapp打包成h5页面
  19. 小白入门计算机视觉系列——ReID(二):baseline构建:基于PyTorch的全局特征提取网络(Finetune ResNet50+tricks)
  20. Python入门基础学习笔记

热门文章

  1. 通过命令行安装或卸载Tomcat服务
  2. 庆祝喜提13337000编号,我悄悄把老板的Windows命令行设置成了这样
  3. 一个简单HTML标签marquee实现动态滚动条
  4. Linux操作Oracle(1)——Linux下 Weblogic启动关闭方法
  5. Linux逻辑卷(LVM)技术详解
  6. [转]Linux下VSCode常用的快捷键
  7. python为list实现find方法
  8. 海龟交易法则05_掌握优势
  9. 同样是数据分析师,他靠“打标签”总被夸,我天天加班取数还被骂
  10. win8卸载mysql数据库,彻底卸载win8自带的metro应用的方法