HA setup : Setting up Business Intelligence in a clustered environment
Setting up Business Intelligence in a clustered environment
In this guide, two instances of Business Intelligence servers will be considered. One Business Intelligence instance will be installed along with Orchestra Central.
Installation
In this setup, DB Server will hold all Orchestra databases, including Stat and the three Business Intelligence databases.
Node 1
Install Orchestra with or without Business Intelligence in a server machine. For this instruction, Orchestra Central, Stat and Business Intelligence are installed in a single server machine. Ideally, Business Intelligence should be installed in a different server.
Node 2
Install a Business Intelligence instance in a server.
Configuration
Note that you need to make sure that all of your application nodes are set up with identical configurations.
Orchestra Central and Queue Agent Database Changes
Update the following table records of qp_central and qp_agent:
UPDATE qp_central.applications SET enabled = 1, url = 'http://loadbalancer:port/businessintelligence/' WHERE id='bi'
UPDATE qp_central.application_modules SET enabled = 1 WHERE id='bi'
UPDATE qp_agent.applications SET enabled = 1, url = ' http://loadbalancer:port/businessintelligence/' WHERE id='bi'
UPDATE qp_agent.application_modules SET enabled = 1 WHERE id='bi'
Business Intelligence server configurations
1. On each Business Intelligence instance, update the central.orchestra.url property of the <install_dir>/pentaho-solutions/system/security.properties file with http://loadbalancer:port.
In case there is an internal load balancer and Orchestra needs to be accessed internally behind a public load balancer, you also need to configure the central.orchestra.internal.url property with http://internalloadbalancer:port
2. Find the <bean id="shiroClient"> element in the <install_dir>/pentaho-solutions/system/applicationContext-pentaho-security-shiro.xml file. Make sure that either the ${security.central.orchestra.url} property or the ${security.central.orchestra.internal.url} property (depending on what is set in security.properties) is uncommented.
There are a few steps to configure each Business Intelligence instance, before you move on to configure the jackrabbit journal.
Initialize your database depending on your preference, PostgreSQL, MS SQL Server, or Oracle. All Business Intelligence instances will point to these databases (hibernate, jackrabbit, and quartz).
Configure the data connections of Business Intelligence Repository
Locate <install_dir>/system/pentaho-solutions/system/jackrabbit/repository directory and remove all files and folders from the final repository folder.
Locate <install_dir>/pentaho-solutions/system/jackrabbit/repository directory and remove all files and folders from the workspaces folder.
Configure Jackrabbit Journal
Make sure that each node has a unique ID.
Locate <!-- Run with a cluster journal --> entry in the <install_dir>/pentaho-solutions/system/jackrabbit/repository.xml file.
Add the following journal configuration corresponding to your repository database.
Inside the brackets, add the load balancer server IP address that the Business Intelligence server will use when communicationg with Orchestra. For networks that use both IPv4 and IPv6, you should add both addresses.
Now start every Business Intelligence instance. Business Intelligence should be able to access seamlessly via the Orchestra URL.
Make sure to add Business Intelligence data sources via the Business Intelligence console: statDB for canned reports; QMATIC and LIVE schemas for Analysis reports.