OBIEE 11g Scaleout & Clustering Borkur Steingrimsson, Rittman Mead Consulting Collaborate, Orlando, April 2011
Agenda Review OBIEE Architecture Installation Scenarios : Desktop, Departmental, Enterprise Departmental Topology and Vertical/Horizontal Scaleout HA Considerations Enterprise Topology
OBIEE 11g Single-Node Architecture Overall stack is an Oracle BI Domain Made up of three areas WLS Admin Server + FMW Control (EM) System Components WLS Managed Server with Java Components Initial (11.1.1.3) version only supports WLS 11g (10.3) Same fundamental components as 10g, but now integrated with FMW WLS stack
OBIEE 11g System Components, Java Components and OPMN OBIEE components divided into System and Java components System components are still C/C++ executables, are controlled by OPMN, and are managed by Fusion Middleware Control Java Components are JEE applications, are installed in the managed server, and are controlled by FMW Control
Administration and Management WLS Admin Server used for controlling WLS platform Startup, shutdown, security, non-obiee specific tasks Fusion Middleware Control (EM) used for managing OBIEE OPMN used for starting, stopping system components Node Manager used for starting, stopping managed servers
11g Architecture Compared to 10g Architecture Main difference is wrapping components in WLS platform and EM management Individual servers, components are still the same (BI Server, Presentation Server, BI Publisher J2EE application etc) Some reworking has taken place in 11gR1 (unified logging, management of config files using EM etc) Basic concepts, plus clustering (OBIEE), scheduling etc are the same as in 10g XSL Oracle BI Publisher Delivery Server Layout Interfaces Data Logic Web Server (IIS, Tomcat, Websphere, iplanet) Oracle BI Presentation Services SOAP Web Services, XML and URL Interface Oracle Interactive Dashboards User Profiling, Security and Session Mngmt Cache Services (Web) & Connection Mngmt SAW Bridge (J2EE/ISAPI) Oracle Answers TCP/IP (SSL) Web Catalog Service XML Framework XML, HTML, XLS, PDF, TXT over HTTP/HTTPS HTML, SOAP over HTTP/HTTPS Web Browser Javascript for Usability & Interactivity External Applications and Portals Oracle Delivers Server Scheduling/Event Services TCP/IP (SSL) Oracle BI Server Logical SQL ODBC/JDBC (Logical Business Model) ODBC over TCP/IP (SSL) Agent Execution Logic Device Adaptive Content Oracle BI Cluster Controller Externalized Authentication LDAP DB Authentication Custom Authenticator Security Services Query Govern. Cache Services Load Balancer Session Management Intelligent Request Generation Logical Request Generation Navigator Multi-Pass / Sub-Request Logic Fragmentation Optimization Aggregate Navigator Optimized Query Rewrites Execution Engine Metadata Interchange System / Perf Monitoring Oracle BI Administration Metadata Management Services Multi-User Development Services Metadata Documentation Services Server Management Services vs. Data Source Adapters ODBC, CLI, OCI, XML, MDX Analytical and Operational Data Sources
Default Use of Clustering During installation, Cluster Controller is automatically installed and configured to create a default 1-node cluster Makes it easier to add cluster nodes after install Vertical clustering and horizontal clustering
Three Sample Deployments 1. Desktop / Laptop Install Quick installation, smallest footprint No contingency for HA, Failover, Resilience etc 2. Departmental Install with Horizontal Scaleout Production installation, needs element of resilience / scalability Not overcomplicated installation, simple maintenance Ability to create DEV, TEST etc environments 3. Enterprise Install (optional Vertical/Horizontal Scaleout) As with Departmental install, plus... Highly secure - use of firewalls, DMZ etc Highly resilient, failover for all components Failover extends to RDBMS level Suitable for enterprise-wide deployment of OBIEE 11g
Deployment Topology 1 : Desktop / Laptop
Desktop / Laptop Deployment Considerations Can be installed using either the Simple or Enterprise install options Requires a machine with (minimum) 3-4Gb or (recommended) 8GB RAM 20Gb disk space for OBIEE 11g files, 500MB for supporting schemas Currently Windows or Linux, 32/64 bit (Linux also requires Windows for BI Administration tool) Browser must be Firefox 3+ or IE7+ (Safari not yet certified)
Deployment Topology 2 : Departmental w/horizontal Scaleout
Definition: Domains and Instances Oracle BI Domain : The overall OBIEE system WebLogic Domain : Admin Server, plus Managed Server(s), across n hosts Java components, optionally scaled out across nodes (managed servers) BI Instance : BI Servers, Presentation Servers etc, across n hosts System components, optionally scaled up and out across nodes Each Oracle BI Domain (in 11.1.1.3) has a single WebLogic Domain and BI Instance Logical containers, can span n physical hosts
Departmental Deployment Considerations Database separated out into its own host Scale-out option has been used, to add an additional managed server Mainly addresses capacity, but some availability benefits HTTP server runs from within BIHOST System components are clustered across BIHOST1 and BIHOST2 Typical system for team of developers, and departmental deployment Reasonable capacity, some redundancy, simple to administer
Vertical Scaleout of System Components Spare capacity on an individual host can be used by adding additional system components Can add additional BI Servers, Presentation Servers and Java Hosts Useful for resilience, and usage of spare capacity Doesn t protect against the whole server failing though
Vertical Clustering Step 1 : View Scalout Recommendations View Potential Points of Failure report on Capacity Management > Availability Recommends scaling-out BI Server, BI Presentation Server and BI JavaHost
Vertical Clustering Step 2 : Add New System Components Use Capacity Management > Scalability to add additional BI Servers, Presentation Servers and Java Hosts Set Port Range From/To (usually can leave at default)
Vertical Clustering Step 3 : Check Components Provisioned View System Components Availability from Capacity Management > Availability Components should be provisioned, but not started up Press Restart All to proceed
Vertical Clustering Step 4 : Start New System Components Check Capacity Management > Availability to check all components running Clustering will now ensure that if one fails, the other will take over (active-active clustering)
Horizontal Scaleout of System Components Used for adding additional managed servers (Java components) and system components to an existing cluster Used for scalability and failover Set up via the Universal Installer > Scale Out BI System option Automatic process, no need to edit configuration files 1. Create shared area for RPD, catalog, cache 2. Install OBIEE on to new node, select Enterprise Install > Scale Out 3. Provide details for WLS Admin Server 4. Node is configured to be new managed server within cluster 5. Use EM to add system components to the new server 6. Designate secondary controllers for scheduler, cluster controller 7. New server is now available, and part of the cluster
Horizontal Clustering Step 1 : Create Shared Areas Create folders on network share for RPD, Web Catalog and Global Cache Share needs to be accessible to all hosts Copy the web catalog across manually, the others will be populated automatically
Horizontal Clustering Step 2 : Prepare Installation Start the Oracle Universal Installer on the new host, select Enterprise Install > Scale Out BI System option Enter connection details to the WLS Admin Server
Horizontal Clustering Step 3 : Install and Configure Allow installation to complete, and then post-install configuration steps This should then complete the scale-out of the managed server and java components
Horizontal Clustering Step 4 : Add New System Components Add new BI Servers, Presentation Servers and JavaHosts on new host Once provisioned, Capacity Management > Scalability > Start Selected to make them available for use
Horizontal Clustering Step 5 : Define Secondary Controllers Final step is to define secondary BI Cluster Controllers + BI Schedulers Capacity Management > Availability > Primary / Secondary Configuration Use in active/passive failover situation
Horizontal Clustering Step 6 : Check Failover Recommendations Fusion Middleware Control should now report that all system components have active/active, and active/passive backups No remaining Single Points of Failure
Use of Hardware Load Balancer Load balancer required to route incoming requests to WEBHOST1 and WEBHOST2 virtual host names Load balancer needs to be able to perform following functions Ability to route to virtual host names in a pool Perform port number translation Monitor ports on the servers in the pool to determine availability Ability to detect node failures, and reroute traffic away from failed node Sticky-routing capability SSL Acceleration (convert SSL requests to non-ssl) List of validated load balances available on OTN http://www.oracle.com/technology/products/ias/hi_av/ Tested_LBR_FW_SSLAccel.html
Managing Failover and Failback In a clustered OBIEE 11g environment, failover is possible BI Server, BI Presentation Server and JavaHost are active/active For BI Server, if one fails and session is active, query will fail but browser refresh will re-run the analysis For BI Presentation server, if one fails and session is active, user will need to log in again (start new session) For JavaHost, if one fails, refresh of browser will use alternative Automatic failback once component is online again BI Cluster Controller and BI Scheduler are active/passive For both components, if one fails, clients will detect primary component unavailability and connect to secondary component instead Automatic fallback to primary component once online again
Creating Additional TEST and PROD Environments OBIEE 11g supports multiple, separate, standalone installations (BI Domains) on a single host Does not yet support multiple instances within a BI Domain RCU supports creating multiple BIPLATFORM schemas on one database (DEV_BIPLATFORM, PROD_BIPLATFORM etc) It is therefore possible in OBIEE 11g to install multiple DEV, PROD, TEST etc environments on one host, as long as each installation is standalone Or install onto separate hosts, if full isolation is required
Deployment Topology 3 : Enterprise
Enterprise Deployment Considerations WebLogic clustering, with WLS + OBIEE software installed on two redundant hosts (APPHOST1, APPHOST2) HTTP Servers moved to seperate WEBHOST1 and WEBHOST2 hosts WLS and OBIEE binaries installed onto two volumes on shared storage Protects against corruptions in one of the volumes Admin Server accessed through VIP and ADMINVHN Provides manual/automatic failover for Admin Server RAC + Dataguard used for repository database Resilience and HA for database Firewall zones used to separate out web + application tiers from database Still open to horizontal and vertical OBIEE clustering Documented in the Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Business Intelligence 11g Release 1 (11.1.1)
Separation of HTTP Servers into DMZ Recommended for security, as moves public-facing servers into public DMZ Two hosts, WEBHOST1 and WEBHOST2, running Oracle HTTP Server, Oracle WebGate and mod_wl_ohs Oracle WebGate used when implementing Oracle Access Manager mod_wl_ohs proxies Oracle HTTP Server requests to WLS External hardware load balancer is the public-facing component Sends requests on port 80 to WEBHOST VIPs using port 443
Duplication of Application Servers WLS Admin Server is a singleton application, so needs secondary location for active/passive failover WLS and OBIEE 11gR1 software is installed twice, on two hosts, for redundancy Manual or automatic failover in the event of first host failing Admin server reached through virtual host ADMINVHN
Use of Shared Storage for FMW Files WLS and OBIEE software (WL_HOME, ORACLE_HOME) are installed onto shared disk using SAN or NAS Ideally install into separate volumes (VOL1, VOL2) and use same install directory (ORACLE_BASE/product/fmw) If not, install into separate directories (ORACLE_BASE/product/fmw1 2) Protects binaries from corruption Installs use alternate volumes/directories on round-robin basis
Recommended Directory Structure for Enterprise Deployment In addition, separate domain directory for the Admin Server and Managed Server(s) Symmetric configuration for managed servers Isolates the failover of the Admin Server Admin Server domain directory should be on shared storage Managed servers can be shared or local storage
RAC / DataGuard for DB Resilience For full resilience, database holding BIPLATFORM schema should be protected as well For Oracle RDBMS, RAC (Real Application Clusters) and DataGuard recommended RAC supports multiple nodes, used for scaleout and (some) resilience DataGuard replicates data to standby (failover) database
Horizontal and Vertical Scaleout of Enterprise Deployment Deployment can be vertically or horizontally scaled out as normal ADMINVHN used as hostname for Admin Server
OBIEE 11g Scaleout & Clustering Borkur Steingrimsson, Rittman Mead Consulting Collaborate, Orlando, April 2011