Tuesday, January 26, 2016

Clustering of OBIEE By Anzy



Vertical Clustering
For any enterprise deployment the capacity must be managed in an efficient and effective way. And we at oracle have made the things very simple in the 11 g series. ☺
How????
By default for an Enterprise Install or Software Only Install type, the Oracle Business Intelligence components are installed in a cluster configuration and are scalable. You can verify this from em or console.(The Simple Install type does not support scaling.) User Web requests can be directed to one of many Oracle BI Presentation Services components. In turn, each Presentation Services component can take advantage of the availability of multiple Oracle BI Servers.
 Increasing or decreasing the capacity of a system by making effective use of resources is known as scalability. A scalable system can handle increasing numbers of requests without adversely affecting response time and throughput. You can expand or reduce the capacity of the system by adjusting the number of processes available to the cluster.
Scaling is the process of increasing or decreasing the capacity of the system by changing the number of processes available to service requests from Oracle Business Intelligence clients. Scaling out a system provides additional capacity, while scaling in a system reduces capacity. Scaling is also a critical part of configuring a deployment for high availability.
Scaling the Oracle Business Intelligence environment applies principally to resource-intensive system processes and Java components. When you deploy more processes, Oracle Business Intelligence can handle more requests while staying responsive to requests.
Scaling are of two types viz;
Vertical –multiple processes defined in different host machines
Horizontal- multiple processes defined in the same host


Vertical scaling involves adding more Oracle Business Intelligence components to the same computer, to make increased use of the hardware resources on that computer. For example, Oracle Business Intelligence can be vertically scaled by increasing the number of system components servicing requests on a given computer and results in increased use of the hardware resources on a given computer.
Horizontal scaling involves adding more computers to the environment. For example, Oracle Business Intelligence is horizontally scaled by distributing the processing of requests across multiple computers.
You can scale both Oracle Business Intelligence Java components and system components. See Section 1.3.3, "About Java Components and System Components for Oracle Business Intelligence" for more information about these components.
The three system components that support both horizontal and vertical scale-out are Oracle BI Presentation Services, the Oracle BI Server, and the JavaHost.
Usually Oracle BI Scheduler and Cluster Controller are not scaled out due to the following reasons:
Oracle BI Scheduler uses Presentation Services and Oracle BI Server processes to perform computationally intense work on its behalf, while the Cluster Controller only manages other components and does not itself do any computationally intense work. Because of this, there is no need to scale out either Oracle BI Scheduler or the Cluster Controller. You can distribute these two processes as needed for high availability deployments, but they do not need to be scaled for capacity.
In this post I am giving the screesnhtos of how vertical scaling is being implemented:
Vertically Scaling Oracle Business Intelligence
This is very simple …
Only two steps and that’s it .. you will get an enterprise deployment with high capacity.
It is not necessary to run multiple Managed Servers on a given computer. Because of this, vertical scale-out only applies to Oracle Business Intelligence system components except Cluster controller and scheduler.


Step1: Configure shared files and directories
We start with logging into the enterprise manager FMW control and navigating to the deployment section. Since we are doing vertical clustering, we do not need to have a shared drive for the repository & the web catalogs. But again its better to identify a drive that can potentially be shared in the future with other machines as Vertical Clustering does not provide high availability (for future migration to horizontal clustering).
Step2: Increasing the number of componenets:

NB: I faced an issue here that I forgot to start the OPMNCTL utility at this point due to which service restart failed and then form the logs I found opmnctl was down and then I restarted the services before I continued to the following steps.
  1. copy the web catalog to the shared drive:


  1. Navigate to the deployment tab and enter the shared directory for rpd and catalog:
  1. Upload the rpd using the same screen of the em :


Then restart all the services after activating changes.

Please Note:


"In shared mode, you specify an RPD publishing directory using Fusion Middleware Control so that online repository changes are propagated in a cluster. The master BI Server copies its local repository to this directory when online changes are made. When slave BI Servers start up, if the version in the publishing directory is newer, then each slave server copies the version in the shared directory to its local disk."
Up on restart the following happens:


  1. The uploaded rpd is being copied to the shared location and the scaled out bi servers. Refer to the below screenshots.





2. The active catalog will be the catalog that we copied to the shared location and made the path entry in the deployments tab.


Now how to test clustering?
1. Configure the clustered DSN:




Open rpd in online mode using the Clustered DSN and navigate to the cluster manager:






Here in my case 9703 is the master bi server and the 9702 is clustered bi server. Refer to the above screenshots.
One more point is when a user logs in to a vertically clustered environment, to which presentation server and to which server the request should be routed is something that is handled internally and automatically but unlike in horizontal clustering and external load balancer will serve the purpose for us.

I wish you all to have an efficient high performing analytics environment☺. Horizontal clustering is on the way………..