Building a Farm
Server farms can be used to provide additional performance, redundancy, and security in place of a single server solution.
Planning
Before starting the actual installation, planning is needed. The following items have to be considered:
- Trust mechanism
- Web server (QlikView Web Server or Microsoft IIS)
- Redundancy level
- Account to run the services under
- QVPR format (XML or SQL)
- User directory
- User authentication
- Firewalls
Trust Mechanism
Trust mechanisms are provided with Windows groups or certificates.
Windows groups can easily be deployed, if all services reside in a single Active Directory (AD). If encrypted communication is needed, it can be added manually.
Certificates provide for trust mechanisms in cross-domain environments and can also provide SSL/TSL encryption.
Web Server
QlikView Web Server is intended for use when the web server is not needed for other purposes. It is lightweight and easy to manage, but at the same time limited to support the tasks needed by a QlikView installation.
A Microsoft IIS-hosted web server is recommended, if:
- More flexibility or more advanced tuning is required
- The web server is to be used for other tasks than QlikView
- An authorization scheme not available out-of-the-box is required
Redundancy Level
The redundancy level is mainly a question of clustering and/or having multiple machines running the same service. All services except QlikView Management Service (QMS) can be installed on multiple machines. In addition, QlikView Server (QVS), QlikView Distribution Service (QDS), and Directory Service Connector (DSC) can be clustered.
Account to Run the Services Under
A dedicated account should be created to manage the QlikView services. The account should be assigned with proper privileges during the installation.
It is recommended that the same account is used for all services.
QVPR Format
The choice of QVPR format is based on reasons outside the QlikView product (for example, backup and availability). The installation always starts in XML mode.
User Directory
QlikView defaults to Windows users (that is, NTFS mode). If non-Windows users are to be given access (other than anonymously), QlikView Server must run in Document Metadata Service (DMS) mode.
DMS mode may also be preferable for other reasons.
User Authentication
QlikView supports multiple authentication schemes. Additional schemes may require ASPX development and the possible use of Microsoft IIS for web services.
Firewalls
Make sure that the services are able to communicate (for example, by opening the appropriate ports in the firewalls).
Root/First Install
Before starting, make sure that the appropriate service account (or accounts) is set up and available on the machines where the services are to be installed.
In all installations, there must exist exactly one QMS, which must be installed first. Note that the QMS must be able to communicate with all the subsequently installed services.
If more services are to run on the same server, they can be installed at the same time.
Adding Services on Other Machines
The next step is to install the other services on the other servers. If more services are to run on the same server, they can be installed at the same time. The order in which the services are added is not important.
When the services have been installed, it is time to return to QlikView Management Console (QMC) and configure the services. This is done on the System tab. The first step is to add the services. Make sure to note the differences between building out a cluster and creating a brand new cluster.
Clustering
This section provides an overview of how create a QlikView Server cluster.
For more information, see:
QlikView Server
For the QlikView Server cluster to work properly, it is important to set System>Setup>QVS resource>Folders>Root Folder to a common shared folder. In addition, Alternate Temporary Files Folder Path must be set to a common shared folder (separate from the root folder).
If extensions are used, it simplifies management if Alternate Extension Path is set to a common shared folder.
It is also common practice to set System>Setup>QVS resource>Logging>Log Folder to a common place, but this is not strictly necessary.
QlikView Distribution Service
For a cluster of QDSs, System>Setup>General>Application Data Folder must be set to a common shared folder. In addition, Source Folders must be common shared folders.
Directory Service Connector
A cluster of DSCs does not need any specific settings. The difference between clustered and non-clustered DSCs is whether the settings are shared or not.
QlikView Web Server
Multiple web servers can be set up, but they are always configured independently (that is, they are never clustered). Note that it is uncommon, but from a technical perspective possible, to have some web servers running QlikView Web Server (QVWS) and some Microsoft IIS.
Tunneling Using Microsoft IIS
Tunneling is used by Windows native clients (QlikView Desktop, the OEM OCX, and the QlikView plugin) and needed when the clients cannot communicate with QlikView Server on port 4747 (most likely due to a firewall blocking the traffic):
- QVWS: No extra settings are required.
- Microsoft IIS: The QVSTunnel.dll file must be added as an ISAPI filter.
Proceed as follows to set up tunneling for Microsoft IIS 7:
- Open the Internet Information Services Manager.
- Select the IIS top node.
- Open the ISAPI and CGI Restrictions dialog.
- Select Add in the Actions pane and browse to the location of QVSTunnel.dll.
- Provide a description of the instance and check the Allow extension path to execute box.
- Open the site that is to host the QlikView Server and Publisher pages and click Scripts.
- Open the Handler Mappings dialog.
- Locate ISAPI dll and select Edit Features Permission in the Actions pane.
- Click Execute in the dialog that opens.
The following entries are required in the registry when the QVS and Microsoft IIS are located on different machines:
[HKEY_LOCAL_MACHINE\SOFTWARE\QlikTech\QlikTunnel]
- “QVSPort”=dword:000012a6
- “QVSServer”=“QvsHost”
Test the QlikView Server tunnel by entering the following URL in a client browser window:
http://<Servername>/scripts/qvstunnel.dll?test
Servername is the web server. If the tunnel is correctly set up, the web page returns a message (that tunneling is available) and the QlikView Server version number.