Skip to main content
Announcements
Live today at 11 AM ET. Get your questions about Qlik Connect answered, or just listen in. SIGN UP NOW

Best Practices of Qlik Sense Multi-Node Setup, Load Balancing & Maintenance(Let's Discuss Here)

100% helpful (2/2)
cancel
Showing results for 
Search instead for 
Did you mean: 
rohitk1609
Master
Master

Best Practices of Qlik Sense Multi-Node Setup, Load Balancing & Maintenance(Let's Discuss Here)

Last Update:

Jun 7, 2019 8:30:22 AM

Updated By:

rohitk1609

Created date:

Dec 18, 2018 4:06:14 AM

Attachments

Hello Everyone,

First of all, thanks for reading! I found it is amazing to connect myself to people around the world and communicate with my writings.

This page is indented to discuss best practices for  Multi-Node Setup & Load Balancing primarily, You may drop your use case or problem in comment, we will provide you best possible solution instantly.

Below content guide you to set up Multi-Node Qlik Setup & Load Balancing. It will help you to know Qlik technical terms, ask question more precious way which will help usor anyoe to provide solution more accurately.

Business intelligence is an agile process, gradually BI solution changes and updates. Enterprise grows so are data and end users.

When data grows and business logic gets complex, we need more resources to calculate the result and serve to users. Afterwards, Single Node (small) site performance decreases with time which could lay down the credibility and quality of BI solution.

Multi node site is  Qlik site(could have multiple Qlik servers ) where load is getting managed between more than one system and could have more than one  Fai-lover Candidate which takes charge in absence of central node automatically.

Note: we can have multiple fail-over candidates in one site, we call it passive central.

There are certain parameter which help you to take decision whether we should move to multi node site or remain on single node.

https://help.qlik.com/en-US/sense/June2018/Subsystems/PlanningQlikSenseDeployments/Content/Deploymen...

So below content is for such users who have made mind to upgrade their Qlik site to multi node.

Few naming conventions we will follow in below content:

  1. Consumer node: which must has proxy service enable
  2. Scheduler node: which has scheduler and engine services are enabled
  3. Central: which is controlling whole Qlik site.
  4. Failover Candidate(Passive central)
  5. Resources: RAM and Cores(virtual cores)

Since June 2017 , installation setup has shared persistence way only where Apps and RepoDB data stay at persistence layer and both are shared with other nodes (rim or child).

Now why do we need to share Apps and Repository data with child or rim nodes?

Answer: to manage load in simple

Next Question: what exactly we share to balance the load practically?

Answer: Resources in Qlik site.

Next Question: what will be achieved if we share the resources?

Answer: Reduce the resource consumption while end users are accessing apps from one node i.e. central to consumer node (proxy service is must) and reduce the resource consumption and distribute it to scheduler node (scheduler and engine service is must) while any app reloads.

There could be many scenario how you would design your multi node site:

  1. You want one central and one consumer and one scheduler node.
  2. Two scheduler and two consumer and central
  3. Central and scheduler node.

 

Ideally: Two scheduler and two consumer and central node comes in best practice for extra large enterprise.

You can read about single node, small, medium , large and extra large Qlik shared site in detail:

https://help.qlik.com/en-US/sense/February2019/Subsystems/PlanningQlikSenseDeployments/Content/Sense...

Multi node site would increase your Qlik Sense site availability, how?

We have a concept fail-over candidate, which is one of the scheduler node or such node which has all services and take charge automatically while Central node is down. We can manipulate the sensing time of failover candidate to central node in latest version.

 

Solutions which will guide you to deply multi node side

  1. How to Install multi node site:

Installation of Multi Node site

Installing Qlik Sense in a multi node site - Qlik Sense

Qlik Sense September 2017 - Installing Qlik Sense in a multi-node site

 

  1. How to configure multi-node site:

         Configure a multinode installatio

       2.  Load balancing:

      Adding load balancing

       Load balancing

       Configuring load balancing to isolate development nodes

          3. Fail-over candidate

Fail- candidate or we can call it passive central node which is ping in a set time(you can customize it below 10 minutes) to central or master node and when it doesn't get response it will take charge and become active central or master node.

Note: Where you install your postgresDB during installation that server has one extra service Qlik Repository Database which is running the postgresDB. So in case you don't have a dedicated persistence layer and installed Repo DB on central node(any server which has Qlik Sense too) then if your central node get down due to power failure or blue screen then fail-over node won't take charge. 

Primary condition of fail over concept needs QlikSenseRepositoryDatabase to be run all time. if QlikSenseRepositoryDatabase is down then whole site is down. 

One important application is attached to article which helps you to review your Qlik site. If you  have any concern over Qlik repository size, QLogs DB size or any component which is accessing excess size than expected, then download the app, import to your Qlik Sense, open it on HUB, there will be three connection which come along with application i.e. PostgreSQL_postgres, PostgreSQL_QLogs and PostgreSQL_QSR. Update password with your super user password of postgresDB which you entered during installation and save it. 

If your user name added as postfix after updatation of connections , go to QMC and make it as they were earlier.

Please do above activities by RDP not from end user side. Reload the app and share it with me so I can review it.

 

After utilizing above solutions, please post your queries in comment section what is your use case i.e. how many servers are available, how your user comes to site, network load balancer is available or not, reloads are executing on scheduler nodes etc.

In general, multi node or load balancing concept is vast and vary with client to client, so I do believe you may ask question much better when you understand the right terms of Qlik, went through above articles and requirements are clear.

Consider this resource as a open form where we all can post our queries on load balancing and multi node site.

There are few other documents which would help you in Qlik administration

1.Dynamic Sheet Exception With Stream and App Level Security

2.Sheet or App Object Level Security Qlik Sense

 

Reach to me if there is need of any clarification or need assistance with kumar.rohit1609@gmail.com

Follow my profile on LinkedInhttps://in.linkedin.com/pub/rohit-kumar/2b/a15/67b,

Add yourself to a great community of Qlik People on Facbook 

Add yourself to Qlik intellectual people group on Facebook:

 

When applicable please mark the appropriate replies as ACCEPT AS SOLUTION and LIKE it. This will help community members and Qlik Employees know which discussions have already been addressed and have a possible known solution. Please mark threads as LIKE if the provided solution is helpful to the problem, but does not necessarily solve the indicated problem. You can mark multiple threads as LIKE if you feel additional info is useful to others.

 

Thanks,
Rohit Kumar

 

 

Comments
amrinder
Creator
Creator

Yes i have checked Fail over Candidate under Nodes before distributing certificates. And my fail over nodes services are running when central node. One point i would like to highlight that once my central node comes active again in QMC if i check node roles they are assigned to Failover Node below is screen shot for your reference:

 

Failover.png

0 Likes
rohitk1609
Master
Master

These roles are for central node. Ideally when central repo service is down, failover node takes charge. I am not sure what exactly you are missing. You can contact to me on kumar.rohit1609@gmail.com

 

Thanks,

Rohit

0 Likes
LeonardoSilva_CODEX
Partner - Contributor II
Partner - Contributor II

Hi Horit,

I'm architecting an infrastructure for a large client, and I have some doubts about the best practices. Sending attached the design. I really would like to have your opinion.

Do you think it would be okay to use F5 to do load balancing?

According to some conversations here in the community I should use nginx to redirect 80 port to 443.

Thank you for your help.

In the future we will have:
100 developers simultaneously and 1000 analysts.

Best Regards,

QS NETWORK PROJECT 5.png

rohitk1609
Master
Master

Hi leonardo,

I hope you are doing well and thanks for reaching to me.

Lets decode your attached architecture image:

1.  Why do you have two persistence layer or server(In Qlik language we call a server persistence layer where Qlik postgreDB and fileshare(Apps, static content and centralize logs) is installed  ), is second one is the backup of first one , if yes , how do a Central node or Master node will switch to second backup persistence layer if path(host name) is different  in both server? 

We can have a case where QAP use first one and Qlik Sense Enterprises use second one. Is it your use case ?

1..png2.  You have two proxy or consumer nodes, but if you are talking about 100 analyst I am pretty sure the reloads number especially concurrent reloads are huge in number then how come only one scheduler node is there ?

A scheduler node could convert to fail over node, how many do you have , none, because in your diagram only one scheduler node is there will will be a active central node.

1..png

 3.  QAP / Proxy is a wrong term, QAP means Qlik analytical platform which has no hub and meant for external users and how come you consider it a failover node ? A fail over node is that QSE server which has all services available and access persistence layer on the time of central or master node went down. 

4.  Lots of my clients are using F5 NLB. But it directs users to proxy nodes only, a fail over node doesn't need F5 load balancer, no purpose of bringing users to it. 

5.  If you have QAP and QSE both, please keep in mind both are same in function but completely different in use case. https://community.qlik.com/t5/Qlik-Sense-Enterprise-Documents/QAP-Qlik-Analytics-Platform/ta-p/14791...

6. I have seen hundred of analyst on on Qlik site but 100 developers is a big thing. Please read multi node expertise architecture once , if you haven't

https://help.qlik.com/en-US/sense/April2019/Subsystems/PlanningQlikSenseDeployments/Content/Sense_De...

 

Before finalizing things, lets discuss it once, kumar.rohit1609@gmail.com. Skype Id deepe2011

An architecture shouldn't decide as per networking terms, it has to be decided by use case, requirement and objective to achieve.

 

Thanks,

Rohit 

 

 

LeonardoSilva_CODEX
Partner - Contributor II
Partner - Contributor II

1. Why do you have two persistence layer or server(In Qlik language we call a server persistence layer where Qlik postgreDB and fileshare(Apps, static content and centralize logs) is installed ), is second one is the backup of first one , if yes , how do a Central node or Master node will switch to second backup persistence layer if path(host name) is different in both server?

We can have a case where QAP use first one and Qlik Sense Enterprises use second one. Is it your use case ?

- In our case, knowing that the persistence layer server has information of the application that are critical to the correct functioning of the applications, this server must be in high availability. Do you think there is no need to maintain high availability? To ensure this, the servers are configured in a cluster for load balancing, in this case there is a second virtual network adapter in each one of the servers configured with the same IP address, and that IP attached to only one name. This clustering mode, necessarely need both servers mirrored, making copies of files simultaneously. In this case both QAP and QSE share the cluster.
Do you sujest not to use high availability, or another way to ensure that?

2. You have two proxy or consumer nodes, but if you are talking about 100 analyst I am pretty sure the reloads number especially concurrent reloads are huge in number then how come only one scheduler node is there ?

A scheduler node could convert to fail over node, how many do you have , none, because in your diagram only one scheduler node is there will will be a active central node.

In this case I thought separing scheduled loads from loads demanded by developers (qvf in development), the Scheduler node would be only for scheduled automated tasks, the processing of the load demanded by developers, would be on the development server. Unless I can't separate them on that node.
But you're right, the server responsable for loading developers demands, which will be the largest in therms os ressources, should be in high availability.
As for proxies Should I have an internal and an external proxy in high availability the way I did? Must I separate de central role from de internal proxy node?

3. QAP / Proxy is a wrong term, QAP means Qlik analytical platform which has no hub and meant for external users and how come you consider it a failover node ? A fail over node is that QSE server which has all services available and access persistence layer on the time of central or master node went down.

- QAP is very important for our structure, I thought of it in failover because this server can not stop any moment. Is there an alternative method for external access in case QAP fail?

4. Lots of my clients are using F5 NLB. But it directs users to proxy nodes only, a fail over node doesn't need F5 load balancer, no purpose of bringing users to it.

- Perfectly, taking F5 out.

6. I have seen hundred of analyst on on Qlik site but 100 developers is a big thing. Please read multi node expertise architecture once , if you haven't

- How does this active and passive central node work? Why in the large multi-node archtecture the consumer nodes for small apps have the proxy sevice? what is the exactly reponsability of central node when the proxy service is external?

Can we schedule a meeting on skipe to monday?

Thank you very very much for your help!

Best regards

Leonardo Silva

0 Likes
rohitk1609
Master
Master

@LeonardoSilva_CODEX  I am listing my points w.r.t. your points below:

1.  There is  no doubt to use a server(persistence layer ) with high availability. Its the best thing, Its good you have external server to make it persistence layer other wise clients try to save the cost and make central node as persistence layer which makes their Qlik site partial fail over not fully.

If you are saying your two server(persistence layer) have same host name or IP then i believe if one will down then other will be up and Qlik central node will access posgreyDB and fileshare(Apps, static and dynamic content)

Now as I got from your notes, you have two licenses QAP and QSE, how about QAP, QAP need separate server  than QSE. Your two persistence server are only available of QSE, QAP can'tt use it becuase QAP has different set of users, security rules.

How you will manage QAP, are you planning to create another set of persistence layer for it, scheduler node ?

2. I agreed with you that if a developer run any load script by script editor then it consumes the resources of local server or developer server but a developer can't run all loads manually for development also, a developer usually creates app, publish it , then create tasks and test it for several days then he migrates the apps to production so, somewhere the performance of development will be affected and if it does , if I assume one developer wasted 30 minutes because of performance then 30*100 developers=3000 minutes per day wasted*per man hour cost => money loss.

We suffer this thing many times even when we work on prod and have 2 dedicate separate nodes for reloads then one only developer node for 100 users is not a good idea for me.

3. first QAP is different than QSE, whatever you are planning to do with QSE will not part or associate to QAP.  if you are planing to make one failover node for QSE, then in your diagram there is no fail over node I can see for QAP ?

One more thing I notice in your architecture diagram that there is no central node? which is your central node ? I do suggest to have one central , two scheduler and two proxies servers.

have a look one section multi node(extra large) section in https://help.qlik.com/en-US/sense/April2019/Subsystems/PlanningQlikSenseDeployments/Content/Sense_De...

there are two terms keep with you, active central and passive central, active central is which is currently your master node and passive central is your fail over node which is pinging in every defined time to central node, if it finds QSR service now then passive central will take charge and become active central. this is how fail over concept work.

F5 is only for client, because your developer can access qlik via rdp or machine name directly.

 

lets take an example, 2 proxies, 1 central and 2 scheduler nodes

1. Make scheduler nodes to your passive central, it means you can have more than one fail over Qlik nodes or passive central nodes.

2. Proxy nodes are which servers the app means when client will open any app on HUB that will consume RAM and core of proxy nodes so we call it consumer nodes.

3. Central is managing thing on that time. You can open QMC on any node, central or scheduler(failover node) only difference is central can have scheduler as master or master and slave.

4. if central QSR service will get down, on round robin basis any one from your fail over nodes will take the charge.

This is how thins work.

I request you to have one to one discussion, hard to write so much and explain. Its a huge concept and one every statement you can ask counter questions  

 

Thanks,

Rohit

kumar.rohit1609@gmail.com

0 Likes
mydearleo
Contributor II
Contributor II

Hi Rohit, it is very nice of you putting together such great info on best practice when deploying Qlik.

I wish i could have read this before we deployed our multi-node setup.

Our current situation is:

1. we have a 4 node setup, all of which have nodepurpose set to 'Both'

2. out of the 4 nodes, 1 is central, running all services, 2 are scheduler, running engine and scheduler, 1 is proxy, running engine and proxy.

3. we are planning to add 2 additional servers, and would like to utilise the build-in virtual development environment

my questions are:

1. can we keep current setup, and just add in 2 server and set node purpose to 'development'?

2. how can we set up and let dev schedulers only run tasks from dev nodes? published apps are refreshed by prod schedulers?

thanks in advance!!

Leo from Australia

 

0 Likes
rohitk1609
Master
Master

Dear Leo,

You can up to 7 servers with basic license. Now what new server will do , you can define on the time of adding nodes.

Where apps will be executes depends on your load balancing rules, you can write it on apps or stream basis, better you use custom property for it.

Development server generally means, node dedicate for developer and let other proxy server for clients. You can open QMC any node in any site. Load balancing means , you are telling which server resource will be utilised on app consumption and app reloads and this we manage by load balancing.

If you haven't changed default rules, so wherever Qlik find scheduler service enabled reload will happen  on it.

For more detail drop an email to kumar.rohit1609@gmail.com

 

Thanks,

Rohit

0 Likes
mjperreault
Creator
Creator

Hi @rohitk1609 ,

 

We're creating a few consumption nodes and each consumption node will have apps from certain streams available. We have configured the Load Balancing Rules so that appropriate apps are available are on the appropriate consumption nodes, but we still see all of the streams on each node even if the apps for that stream are not available.  Is there a way to only display the streams that have apps available?

 

 

Additionally I have a question about failover candidates.  Our design is two have three nodes, 1 central/reload node and 2 consumption nodes.  We wish to have one of the consumption nodes be a failover candidate which means we will have to run the Scheduler service on that node. How do I ensure that all reloads will still be executed on the central/reload node, will setting the scheduler on the consumption node to be only a Master solve this?

 

Thanks,
Mark

0 Likes
rohitk1609
Master
Master

@mjperreault  If you are opened the hub with root admin , you will see the streams but apps will come as per your security rules.

2. I don't suggest to make consumer node a Failover node, if you do so, it will be passive central with all services and if user will come on the time of reload on it, it will be bad in terms of performance. 

To ensure all loads will be at Active Central node make the concern node or failover node  slave only for the time being, when passive central node will become active central, its status will be changed to Master only or master and slave only and reloads will happen on it till you don't make the old central node up and make it master again then set the fail over scheduler back to SLAVE.   

 

 

If a post helps to resolve your issue, please mark the appropriate replies as "Accept as Solution" or Like it.


Best,

Rohit

0 Likes
Contributors
Version history
Last update:
‎2019-06-07 08:30 AM
Updated by: