Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
Qlik Sense Enterprise on Windows on-premises Deployment Scenarios
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:
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:
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:
Qlik Sense Enterprise on Windows on-premises Deployment Scenarios
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
Installation of Multi Node site
Installing Qlik Sense in a multi node site - Qlik Sense
Installing Qlik Sense in a multi-node site
2. 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
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
Hi Rohit,
Thanks for sharing this info. It was very useful to me.
PostgresDB is installed on the central node where failover candidate also the same.
If central node fails (where QRD present and also failover candidate), whether it works as failover candidateor it will be down.
Could you please let me know.
Thanks and Regards,
Gayathri
Hello Rohit,
I have a question about your original post. You say: Consumer node: which must has proxy service enable.
Why must the proxy service be enable on a consumer node? Does it need to be running on all consumer nodes or just some of them? If that's the, case, what are the considerations for turning it on?
We need proxy service to be enabled on consumer node because this node or server is being consumed by client or in other words, consumer node servers the content. To serve the content, user has to be authenticated. Proxy service sends user info to authentication module and if authentication module approve the user, content will be severed to user.
Thanks,
Rohit
Your comment to me addresses why we need the proxy service on a consumer node but does it need to be on all consumer nodes? Lets say one has 4 consumer nodes but the proxy service is only running on one node. If the virtual proxy is set to round-robin to all the consumer nodes, I think traffic will still route as intended. Is that right? So why run the service on all 4 nodes. Maybe it doesn't really matter. The proxy service seems light on resource consumption so doesn't matter if it's running on all nodes or one.
Rohit,
I confirmed with another community member that proxy service can run on one or multiple nodes. In fact, one user I found prefers running the proxy service on a standalone node, with no other services, to control where authentication occurs in the network.
Mike
@mgranillo You are right. When there is demilitarised zone concept, People keep one proxy server in demilitarised zone with proxy service and content keep serving from other proxy servers which are load balanced with main proxy server.
If you want to understand it technically, what proxy server does, it sends user to authentication module for authentication. here, one server is enough to send user to authentication.
Thanks,
Rohit
Hello Rohit,
we have moved to a multi-node installation (one central node, two nodes for application consumption and two nodes as schedulers). For some reason, the reload does not seem to be balanced properly between the 2 reload nodes and now we would like to define that certain apps are reloaded only by one of the two nodes.
What do we have to do to get this working? I tried to add a custom property to the nodes as well as to the apps, but still a reload initiated in the QMC will run on the server, it is not supposed to run on.
Many thanks
Dirk
You need to disable default ResoucresOnNonCentral load balancing rule. Create a new rule for non central, which says lets say , tasks group A will load on server A and same for task group B
drop an email on kumar.rohit1609@gmail.com
Hello Rohit,
We have multi-node cluster running Qlik Sense February 2019 Patch 3. Can some one guide me what is the process to get ti upto date on Qlik Sense February 2022 Patch 11.
Are the updates cumulative? do the latest version support latest windows OS?
Many thanks.
N
Hi @rohitk1609 ,
We have a situation where we want the reload tasks to be run only on the rim node.
We have a central and 1 rim node.
The Central node is currently set to 'Master and Worker' and Rim node is set to 'Worker'.
When we change Central Node to 'Master', all the reload tasks fail.
Could you please guide how i can troubleshoot the issue.
thanks,
Florence