Clustering QlikView Distribution Service

This chapter discusses the requirements and options for building a clustered and balanced QlikView Distribution Service (QDS) deployment.

The QlikView load balancing capabilities are included in the QlikView Management Console. This chapter also discusses how to make this component efficient using distribution groups.

What is a QDS Publisher Group?

A publisher group is a subset of a QDS cluster. Each publisher group is given a unique name, and the set of QDS nodes (one or more) that are included in this group. A node may exist in any number of publisher groups (zero or more).

Each task is assigned to none or one of these publisher groups. A task assigned to a publisher group is called a Dedicated Task and may only be executed by one of the QDS nodes included in this group. A task not assigned to any publisher group is called a Regular Task and may be executed by any of the QDS nodes (but may be prevented to run on a QDS in a publisher group under certain circumstances).

Note: The QDS cluster must be setup and functional prior to activating this feature.

To activate this feature, make a copy of DistributionGroupDefinition.Template in C:\ProgramData\QlikTech\ManagementService\DistributionGroups and name it DistributionGroupDefinition.xml. Restart the QMS service manually on the QDS cluster node.

QDS publisher group configuration

You can configure the distribution group using the following settings in the DistributionGroupDefinition.xml file.

<DistributionGroupDefinition> 
	<QDSSettings>
		<QDS QDIdentifier = "d033930c-0000-e6ec-1519-f3c628a443ae"?
			<MaxSimultaneousQvbs>4</MaxSimultaneousQvbs>
			<MaxSimultaneousReaderQvbs>2</MaxSimultaneousReaderQvbs>
			<DedicatedQvbs>1</DedicatedQvbs>
			<RunDedicatedTaskAlone>True</RunDedicatedTaskAlone>
			<GraceTimeMinutes>30</GraceTimeMinutes>
			<DistributionGroups>
				<Group>Group A</Group>
				<Group>Group B</Group>
			</DistributionGroups>
		</QDS>

For each QDS in a publisher group, the following should be configured:

  • MaxSimultaneousQvbs - The maximum number of simultaneous QlikView Batch instances (default 4).
  • MaxSimultaneousReaderQvbs - The maximum number of simultaneous QlikView Batch readers (default 20).
  • DedicatedDistributionQvbs - The number of dedicated QlikView Batch instances (default 0).
  • RunDedicatedTaskAlone - Whether to run dedicated tasks alone or not (default false).
  • GraceTimeMinutes - If RunDedicatedTaskAlone is set to Trueand this setting means that no regular task may be started by this QDS within number of minutes or less until the nearest dedicated task is scheduled (default 0).

The following table provides an example of the number regular and dedicated tasks that may be started based number of dedicated task currently running if MaxSimultaneousQvbs is set to 4and DedicatedQvbs is set to 2.

Number of dedicated task running Number of new dedicated task that may be started Number of regular task that may be started
0 4 2
1 3 2
2 2 2
3 1 1
4 0 0

A QVB should always be available for dedicated tasks if the RunDedicatedTaskAlone option is set to True. The following table provides an example of the number regular and dedicated tasks that may be started based number of dedicated task currently running if MaxSimultaneousQvbs is set to 4, DedicatedQvbs is set to 2 and RunDedicatedTaskAlone is set to True.

Number of dedicated task running Number of new dedicated task that may be started Number of regular task that may be started
0 4 2
1 3 0
2 2 0
3 1 0
4 0 0

Task Configuration

Once you have created a publisher group, the feature is active and each existing task is considered to be a regular task. When creating a new or editing an existing task, a Publisher Group dropdown is available on the Source Document's General tab.

This drop-down contains the names of all publisher groups. If a publisher group is assigned to a document, all task associated with this document dedicated. Select <any> from the publisher groups dropdown to make tasks associated with a document regular. A regular task may be executed on any node.

Did this information help you?

Thanks for letting us know. Is there anything you'd like to tell us about this topic?

Can you tell us why it did not help you and how we can improve it?