Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
mwallman
Creator III
Creator III

Architecture: Is it possible to have one node handle reloads and another node handle user sessions?

Hello all,

This is an architecture question for a two-node Qlik Sense environment.

Is it possible to dedicate one node to do task reloads and another node to handle user sessions?

If so, can anybody show how that would be configured? @Levi_Turner  what do you think 🙂

Labels (1)
11 Replies
jyothish8807
Master II
Master II

Hi @mwallman ,

I believe this should be possible , may be this article will help

https://community.qlik.com/t5/Qlik-Support-Knowledge-Base/Load-Balancing-in-Qlik-Sense/ta-p/1715174?...

 

Br,

KC

Best Regards,
KC
mwallman
Creator III
Creator III
Author

Thanks Jyoti, however I am looking for a very specific example of how to configure this.

jlongoria
Creator
Creator

We have three nodes (1 central node 2 rim nodes). We only run the scheduler service on the central node and turned it off on both rim nodes. Additionally, our default proxy load balances on the rim nodes. In this way, our centralized node handles task reloads and users are using rim nodes only. We came up with this based on the below from Qlik help - we basically only have a "master". This works for us given our ram/cpu configuration and # of task reloads.

Schedulers

The Qlik Sense Scheduler Service (QSS) manages the scheduled tasks (reload of Qlik Sense apps or user synchronization) and task chaining. Depending on the type of Qlik Sense deployment, the QSS runs as master, slave, or both on a node.

mwallman
Creator III
Creator III
Author

Hi @jlongoria , thanks for sharing the info! Did you have to change any setting or a create/modify a security rule in order to achieve this?

jlongoria
Creator
Creator

No, we did not change/add any security/load balancing rules to achieve this.

Hopefully we haven't fooled ourselves into thinking we're doing what we think we're doing. :S However, we tested by installing a specific driver on the central node only. The task that relies on that specific driver reloads on a regular basis  and has not failed. We figured if the task reloaded on a rim node the reload would fail because the driver would not be installed on the rim node. 

Levi_Turner
Employee
Employee

With 2 nodes in a cluster there are two logical possible ways to achieve this:

 

Option 1: User Access RIM, Reload Central

16446_1_v2.png

In this configuration, user sessions will be handled by the RIM node (for short-hand it is common to call this a Consume node or Engine/Proxy node).

Services needed: Engine, Proxy, Repository

Brief config steps:

  • Install RIM
  • Activate RIM, toggle Engine + Proxy
  • Configure Virtual Proxy for this RIM Proxy to load balance to this RIM's Engine
  • (Optional, but encouraged): Disable default load balancing rule named ResourcesOnNonCentralNodes, create new one:
    • Name: Up to you
    • Description: Load balance all applications to all RIMs, including apps in the Monitoring Apps Stream which are excluded by the default ResourcesOnNonCentralNodes rule
    • Filter: App_*
    • Actions: Load balancing
    • Conditions: ((node.iscentral="false"))
    • Context: Both
  • (Optional, but encouraged): Request a DNS alias for this host (i.e. analytics.company.com)
  • (Optional, but encouraged): Request, install, configure valid third party SSL certificate. If using DNS alias, this is the primary subject + Subject Alternative Name

 

Option 2: User Access Central, Reload RIM

16446_2_v2.png

In this configuration, user sessions will be handled by the Central node and the RIM node will perform application reloads.

Services needed: Engine, Scheduler, Repository

Brief config steps:

  • Install RIM
  • Activate RIM, toggle Scheduler + Engine
  • Set Central's Scheduler to Master + ensure RIM's scheduler is set to slave
  • (Required): Disable default load balancing rule named ResourcesOnNonCentralNodes, create new one:
    • Name: Up to you
    • Description: Load balance all applications to all RIMs, including apps in the Monitoring Apps Stream which are excluded by the default ResourcesOnNonCentralNodes rule
    • Filter: App_*
    • Actions: Load balancing
    • Conditions: ((node.iscentral="false"))
    • Context: Both
  • (Optional, but encouraged): Request a DNS alias for this host (i.e. analytics.company.com)
  • (Optional, but encouraged): Request, install, configure valid third party SSL certificate. If using DNS alias, this is the primary subject + Subject Alternative Name
anderseriksson
Partner - Specialist
Partner - Specialist

In option 2 is it possible to include a Proxy on Reload RIM for development and debugging?
Manual testing of a failed load would otherwise be performed on the Central node.

Levi_Turner
Employee
Employee

@anderseriksson : Sure, that is possible. You can also create a new virtual proxy which attaches to the RIM's Engine for debugging. They both net the same result from that perspective.

stevedark
Partner Ambassador/MVP
Partner Ambassador/MVP

Hi all,

Thanks @Levi_Turner for explaining this.

Can I just check what happens when we throw NPrinting into this mix also. NPrinting would sit on a separate server again and essentially be another Client accessing the cluster.

Would the access from NPrinting be treated the same as a user with a browser accessing the app, in that NPrinting would be directed to the Consume node rather than the Reload one?

Many thanks,
Steve