Cognos Analytics

How to setup High Availability/Failover with multiple Jupyter Notebook Servers using NGINX Reverse Proxy and CA

By ANTONIO MARZIANO posted Tue June 18, 2019 09:06 AM

  

Currently CA only connects to a single Jupyter Notebook Server instance so in a production environment It may be necessary to ensure high availability/fault tolerance to ensure downtime is kept to a minimum. In order to achieve this its possible to leverage NGINX Reverse Proxy to failover Jupyter Notebook Servers in the event of such failures. So, the purpose of this article is to outline a step-by-step guide, based on a lab environment, to setup and configure a reverse proxy with Cognos Analytics 11.1.2+, NGINX and Jupyter Notebook Server.

Environment:

OS: Centos 7.1

Servers:
CA Server 11.1.2+ (roves1.fyre.ibm.com)
NGINX Server (roofer1.fyre.ibm.com/ 9.30.97.124)
Jupyter Notebook Server 1 – eggcup1.fyre.ibm.com/ 9.30.109.173
Jupyter Notebook Server 2 – CAJupyterServer1.fyre.ibm.com/ 9.30.214.249

Complete Architecture:

Architecture3.jpg


Steps to install and configure NGINX

1. On the Centos Server run yum -y update

2. Create a repo file vim /etc/yum.repos.d/nginx.repo
3. Add the following lines:


4. Install nginx by executing yum -y install nginx


Install_NGINX.jpg

5. Check the installation by executing nginx -V

NGINX_Test.jpg
6. Start by executing nginx and then test by executing curl http://localhost

Test_NGINX.jpg
7. Edit the /etc/nginx/nginx.conf and add this section:



8. Save and restart nginx

9. Open CA Portal and navigate to Manage - Configuration - System - Environment. Add the NGINX reverse Proxy IP Address (or host)
http://<nginxServerIPAddress>:8000



10. Click "Apply"

Now, lets test the failover by stopping one of the upstream jupyter servers and capture its recovery:

Stop the docker containers by executing the command:
/opt/ibm/cognos/jupyter/dist/scripts/unix/ ./stop.sh


Refresh the browser and kernel reinitialized and connected successfully.




Appendix: Additional Information

NGINX Additional Proxy Config Settings
https://www.nginx.com/resources/wiki/start/topics/examples/full/

IBM Jupyter Server
https://www.ibm.com/support/knowledgecenter/en/SSEP7J_11.1.0/com.ibm.swg.ba.cognos.inst_cr_winux.doc/c_inst_jupyter.html

Blog - Administration: How to setup Jupyter Notebook Server on Ubuntu 16+ for Cognos Analytics 11.1.2+
https://community.ibm.com/community/user/businessanalytics/blogs/antonio-marziano/2019/05/30/setup-jupyter-notebook-server-on-ubuntu-for-ca


#LearnCognosAnalytics
#home
#administration
#Notebook
0 comments
41 views

Permalink