ODI JEE Agent Active-Active Installation
CHAPTERⅠ- ODI Active-Active Structure – ODI HA Installation
We know that the active-active JEE agent has a wide variety of capabilities, so we recommend our customers to switch to a JEE agent instead of a standalone agent. We have even completed the installation and transition from a standalone agent to an active-active Java agent for one of our customers. In this article, we have compiled the ODI active-active agent and how we made this transition.
Oracle Data Integrator (ODI) is a platform that enables organizations to extract, transform, and load (ETL) data across different applications and systems. High availability (HA) capabilities mean ensuring the continuous and reliable operation of the ODI environment, even in the face of hardware or software failures. Below are some of the high availability features offered by Oracle Data Integrator:
Load Balancing: ODI can support load balancing across multiple nodes to evenly distribute workloads and avoid resource bottlenecks. This helps in optimizing performance and ensures that no single node is overloaded. We used load balancer in front of oracle webserver (OHS).
Cluster Support: ODI can be deployed in a clustered environment, where multiple ODI instances work together as a single logical unit. This cluster configuration ensures redundancy and fault tolerance, improving the overall availability of the system. We have installed as cluster structure ODI WebLogic server.
Replication: ODI HA structure can replicate metadata and configurations across different nodes. This helps maintain data integrity and ensures that all nodes have access to the same information.
Data Source Redundancy: To prevent single points of failure in data sources, ODI can be configured to connect to redundant databases or data warehouses. This ensures continuous data availability even if one of the data sources becomes unavailable.
ODI Java agent HA structure:
ODI 12c HA Installation
- The environment architecture is based on Unix.The server name, port, domain name, user name and password information shown in this document have been created for illustrative purposes. You need to replace your values with your own environment information.
- webhost.com – OHS acts as a Load Balancer, so you should replace it with your own Load Balancer/Virtual Host name.
- host1.com – Oracle Data Integrator 12c with Oracle WebLogic 12c installed, so you should replace it with your own hostname of WLS managed server 1
- host2.com – Oracle Data Integrator 12c with Oracle WebLogic 12c installed, so you should replace it with your own hostname of WLS managed server 2
- db.com – Oracle Database with Oracle AS Repository Components have already been created with RCU, this is a non-RAC database
- DBMS/Service (SID.com) – Oracle Database instance service name in above Database
- However, you may apply the concept from this document to your own requirements using such as:
- Hardware Load Balancer
- RAC database or
- add additional WLS servers (>2)
- … and adjust the command to suit the Windows environment.
- From this example, you will use a standard ODI Java EE Template, therefore a Java EE Agent Name is “OracleDIAgent”
HOST1 – Create the High Availability Domain
1. You can create your physical and logical Agent from ODI Studio so you can set the Agent Host and Port to your WEBHOST Hostname and Port number.
2. Launch MW_HOME/oracle_common/common/bin/config.sh, choose “Create a new domain ” with the following components:
3. Supply all necessary Oracle AS Repository Components Schema/Connection Details that you have already created earlier with RCU
4. Choose the following components (System Components can be skipped if the domain is dedicated to Java EE Agent with no Colocated Agent or OHS)
- On Administration Server Screen, set Listen Address and Listen Port to an appropriated value for your environment.
You can also select a value from the drop-down list next to Listen Address and select the IP address on the host where your Administration Server will reside. Do not use “All Local Addresses.”
- On Managed Server Screen, Click to add a new server (i.e. ODI_server2) and set Listen Address and Listen Port to an appropriated value for your environment.
In the Server Groups drop-down list, select both JRF-MAN-SVR and WSMPM-MAN-SVR.
These two server groups ensure that the Oracle JRF and Oracle Web Services Manager (OWSM) services are targeted to the Managed Servers you are creating.
- On Clusters Screen, create a cluster named “ODI_cluster” and leave the cluster Address field blank.
8. On Assign Servers to Clusters Screen, add “ODI_server1” and “ODI_server2” to “ODI_cluster”. (use your own names for these)
- On Coherence Clusters Screen, leave the default port number = 0 as the Coherence cluster listen port.
10. On Machines Screen, create 2 machines for your HOST1 and HOST2
Set Node Manager Listen Address and Node Manager Listen Port to an appropriated value for your environment.
You must select a specific interface and not “localhost.”
This allows Coherence cluster addresses to be dynamically calculated.
11. On Assign Servers to Machines Screen:
- Add Admin Server and ODI_server1 to Machine 1.
- Add ODI_server2 to Machine 2.
12. Reviewing Your Configuration Specifications and proceeding to configure your Domain.
13. Startup your Node Manager and Admin Server on HOST1
14. Login to your Oracle WebLogic Administration Console and start a Managed Server ODI_server1
If you examine your ODI_server1 log file, you will notice that your WKA member should join a cluster successfully
15. Test your newly deployed ODI Java EE Agent using APPHOST1 server name from your Internet Browser.
HOST2 – Create the High Availability Domainv
16. Use the following commands to pack the domain which was created on APPHOST1:
$ cd MW_HOME/oracle_common/common/bin
$ ./pack.sh -domain=<full path to the domain> -template=mytemplate.jar -template_name=<descriptive template name> -managed=true
17. Copy the jar file you created on APPSHOST1 to APPHOST2 and use the following command to unpack it:
$ cd MW_HOME/oracle_common/common/bin
$ ./unpack.sh -domain=<full path to the domain> -template=mytemplate.jar
18. Startup your Node Manager on HOST2
19. Login to your Oracle WebLogic Administration Console and startup odi_server2 on HOST2.
If you examine your ODI_server2 log file, you will notice that your WKA member should join a cluster successfully.
20. Test your newly deployed ODI Java EE Agent using APPHOST2 server name from your Internet Browser.
WEBHOST – Configure Load Balancer in front of APPHOST1 and APPHOST2
Now that you have 2 working URLs of OracleDIAgent, you can setup your Hardware Load Balancer to route a client request.
This blog we used OHS which has already been installed on WEBHOST with a default port = 7777 to act as a Load Balancer in front of HOST1 and HOST2. We will examine in next blog which name is ODI active active installation chapter 2-OHS installation and SSL configuration for this.
21. From your WEBHOST, edit MW_HOME/instances/ohs_instance1/config/OHS/ohs1/mod_wl_ohs.conf and add the following information:
# ODI Agent
<Location /oraclediagent>
WebLogicCluster host1.com:15101,host2.com:15101
SetHandler weblogic-handler
</Location>
#ODI Explorere
<Location /odirepex>
WebLogicCluster host1.com:15101,host2.com:15101
SetHandler weblogic-handler
</Location>
#ODI Webservices
<Location /oracledisdkws>
WebLogicCluster host1.com:15101,host2.com:15101
SetHandler weblogic-handler
</Location>
22. Restart Oracle Web Tier Utilities using the opmnctl command and Test your Java EE Agent using your WEBHOST as server name from your Internet Browser
23. Lastly you can test “OracleDIAgent” from your ODI Studio.