Scaling Jedox in Linux (clustering)

image_pdfimage_print

Here we describe how you can scale Jedox components on two machines:

  • On machine 1 running OLAP and Tomcat (OLAP HOST)
  • On machine 2 running Apache and Core  (WEB HOST)

First install all components on both machines.

Assuming you have the following case after the installation:

  • OLAP HOST has a network interface on IP address 192.168.80.128
  • WEB HOST has a network interface on IP address 192.168.80.127

In this case, only the port 80 and/or 443 on IP address 192.168.80.127 must be accessible from the outside for users accessing the Jedox system via web browser.

For this the following adjustments must be done:

On host running OLAP and Tomcat (OLAP HOST):

1.) Make sure OLAP listens on external interface and is accessible to host running Apache (WEB HOST).
in /opt/jedox/ps/Data/palo.ini
adjust http interface e.g. 127.0.0.1 => 192.168.80.128 or all interfaces:

http "192.168.80.128" 7777

http "" 7777

2.) Make sure Tomcat is visible from the outside, listening on all interfaces
in /opt/jedox/ps/tomcat/conf/server.xml
adjust address for HTTP and AJP, e.g.127.0.0.1 => 0.0.0.0:
<Connector port="7775" address="0.0.0.0" connectionTimeout="20000" protocol="HTTP/1.1" redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" address="0.0.0.0" />

3.) Adjust the /opt/jedox/ps/tomcat/webapps/rpc/WEB-INF/classes/rpc.properties
from:
web.url=http://127.0.0.1:80
to:
web.url=http://192.168.80.127:80

4.) Make sure config database is aware of storage structure from WEB HOST machine, not OLAP HOST. If you did default setup or run setup with same settings on both machine this will match, i.e., no change should be required.

On host running Apache and Core Service (WEB HOST):

1.) Make sure Apache communicates with Tomcat on OLAP HOST instead of localhost, e.g. 127.0.0.1 => 192.168.80.128
in /opt/jedox/ps/etc/httpd/conf/httpd.conf
adjust address in proxy for AJP calls, e.g.:
ProxyPass /tc/ws/ ws://192.168.80.128:${JDX_PORT_TC}/
ProxyPassReverse /tc/ws/ ws://192.168.80.128:${JDX_PORT_TC}/

also the following lines need to be adjusted:
Define JDX_HOST_TC_AJP "127.0.0.1"
Define JDX_PORT_TC_AJP "8010"

2.) Make sure Apache communicates with OLAP on OLAP HOST instead of localhost, e.g. 127.0.0.1 => 192.168.80.128
Make sure password for _internal_suite user, secret, IP, and PORT match those of OLAP Server on OLAP HOST
in /opt/jedox/ps/httpd/app/etc/config.php
– copy it from same file on OLAP HOST and overwrite the parameters:
define('CFG_SECRET', '1234567890123456');
define('CFG_PALO_HOST', '192.168.80.128');
define('CFG_PALO_PORT', '7777');
define('CFG_PALO_PASS', ' a 123456789012345678901234567890123456789012==');

3.) Make sure Core Spreadsheet Service communicates with the OLAP HOST
in /opt/jedox/ps/core-Linux-x86_64/etc/palo_config.xml
adjust address, port and secret to match the one on OLAP HOST, e.g.
127.0.0.1 =>  192.168.80.128
secret from OLAP Server => 123456789012345

4.) Make sure all connections point to 192.168.80.128, not to itself (127.0.0.1)
in System Manager/Connections, make sure users use IP of the OLAP HOST instead of localhost

You’ll need to mount the storage from the OLAP HOST on the WEB HOST, so that all WEB servers use the same report pool.

An example for a mount command:

sudo mount -t cifs -o user=Administrator%Adminpass //192.168.80.128/opt/jedox/ps/storage /opt/jedox/ps/storage

 

After you have verified that the system is properly configured, you can start the required processes on both machines:

OLAP and Tomcat on the OLAP HOST:

  • sudo /opt/jedox/ps/jedox-suite.sh start olap
  • sudo /opt/jedox/ps/jedox-suite.sh start tomcat

Apache and Core on the WEB HOST:

  • sudo /opt/jedox/ps/jedox-suite.sh start httpd
  • sudo /opt/jedox/ps/jedox-suite.sh start Core
image_pdfimage_print
Was this post helpful?
NoYes (0 rating, 2 votes)
Loading...