Skip to main content

Integrating Qlik Catalog with Qlik Sense Enterprise

Follow the steps in this procedure to manually configure the integration of the Qlik Catalog with Qlik Sense Enterprise. These instructions assume that Qlik Catalog install is on the same release as Qlik Sense Enterprise.

Do the following:

  1. Install Qlik Sense Enterprise on Windows on your test environment:

    Note: Remember to allocate access to yourself after installation.
  2. Create a shared QVD repository:

    Create a User:

    1. In the WindowsStart menu, type Computer Management to open the app.
    2. Open Local Users and Groups > Users.
    3. Right-click and select New User.
    4. Enter User name: qvd_scanner, Full name: QVD Scanner, and Description: QVD Scanner.
    5. Enter a password, and, optionally, modify the password settings.
    6. Click Create.

    Create QVD file share:

    1. On your C: drive, create a new folder called qvd_repository.
    2. Right-click your new folder qvd_repository and select Properties.
    3. Open the Sharing tab and click Share.
    4. Enter qvd_scanner and click Add.
    5. Click Share and then Done.
    6. Open the folder qvd_repository.
    7. In the folder, right-click and select New>Text Document.
    8. Edit the file name and extension so that it reads readme.txt.
    9. Open a command prompt and type net view\\<host name>.
    10. Verify that qvd_repository is present as a shared resource.

    Create firewall exceptions:

    1. Open Windows Firewall in the control panel.
    2. Verify that Domain networks have Connected status.
    3. To the left, select Advanced Settings.
    4. To the left, select Inbound Rules.
    5. To the right, select New Rule...
    6. Select Port and click next.
    7. Enter the Qlik Sense Engine port: 4747, click next.
    8. Allow the connection, click next.
    9. Deselect Public, click next.
    10. Name: Qlik Sense Engine, click finish.
    11. Repeat above steps (b-j) to create an additional firewall exception for Qlik Sense proxy port: 4243.
  3. Mount the QVD file share:

    1. Login to the Qlik Catalog server (SSH login).
    2. In a bash (CLI) terminal, enter the following to create a mount point:
      sudo mkdir -p /usr/local/qdc/source/qvd_repositories/<windows_hostname>
      Note: Note: This directory must now be under the directory specified in core_env.property:
      localfile.base.dir.source.connection=/usr/local/qdc/source
    3. Create a permissions file:
      sudo vi /root/.<windows_hostname>_credentials
      Add the following lines using the credentials created in Step 2.

      domain=<domain>
      password=<password>
      username=<qvd_scanner>
    4. Enter the following to create modify mounts:
      sudo emacs /etc/fstab
      Then
      //<windows_hostname>/qvd_repository /usr/local/qdc/source/qvd_repositories/<windows_hostname>    cifs
      credentials=/root/.<windows_hostname>_credentials 0 0
      Then
      mount /usr/local/qdc/source/qvd_repositories/<windows_hostname>
  4. Copy certificates from Qlik Sense server to Qlik Catalog server

    1. Export certificates from Qlik Sense using the (Qlik Management Console). To export the public and private keys from a Qlik Sense server please see Exporting certificates through the QMC. Be sure to select Include secret key.

    2. The default location for the exported certificates is the following directory on the Qlik Sense server:
      C:\ProgramData\Qlik\Sense\Repository\Exported Certificates

      (A folder will be created in the Exported Certificates directory, the folder name is entered during the export process described in the link above.)

    3. Copy the certificates exported during step 4a. from the Qlik Sense server into the certs directory on the Qlik Catalog server. The certs directory will be located in the QDC_HOME directory. Installation default location is:

      /usr/local/qdc/qlikpublish/certs

    4. Copy the following files into the certs directory:

      client.pem
      client_key.pem
      root.pem
      server.pem
      server_key.pem

  5. Configure Qlik Catalog Service:

    PostgreSQL Server setup

    1. Login to the Qlik Sense Qlik Management Console (User must have RootAdmin access).

    2. In a new browser tab, navigate to the setup page for the Qlik Catalog Service, located here: https://[installation host]/api/qdc/v1/setup/ui/page.html.

    3. Expand the PostgreSQL Server section and enter the information requested. These settings can be the same ones used by Qlik Sense Repository Service.

    4. The settings provided can be validated using the Test button.

    5. Click the Apply button to persist the settings.

    Qlik Catalog Server setup

    1. Navigate to the Qlik Catalog Server setup page

    2. Expand the Qlik Catalog Server section and enter the information requested. The Server field should be the URL used to connect to Qlik Catalog (http://<hostname>:8080/qdc).

    3. Validate the settings using the Test button and then click Apply.

    Qlik Catalog JWT setup

    1. Navigate to the Qlik Catalog JWT setup page.

    2. Review the values for the different fields and click Generate.
      A message displays: Successfully updated QDC-QSE security settings.

    QRS setup

    1. Navigate to the QRS setup page.

    2. Click Test to verify the connection.

  6. Configure Qlik Sense QMC

    1. Navigate to the Qlik Management Console page: https://[installation host]/qmc and authenticate.

    2. In the Qlik Management Console, open the Users section and verify that qlik-data-catalyst. is present.

    3. Open the Security rules section and verify that Qlik Catalog Security is present.

    4. Open the Tags section and verify that QVD Catalog is present.

    5. Open the Virtual proxies section and verify that Qlik Catalog is present.

    Prepare the data connection

    1. Open Qlik Sense Hub.

    2. Create a new app and open it.

    3. Click Add data from files and other sources.

    4. In the menu to the left, click File locations.

    5. Navigate to the qvd_repository folder on your C: drive.

    6. Open one of the QVDs and click Add data.

    7. In the Qlik Management Console, open the section Data connections.

    8. Select the qvd_repository data connection and click Edit.

    9. In the Properties menu to the right, select Tags.

    10. Click in the Tags field, select QVD Catalog and click Apply.
  7. Configure the Qlik Catalog Server:

    1. Log into Qlik Catalog.

    2. In Qlik Catalog, open the Admin section.

    3. Open the QVD Import section.

    4. Click Add New Connector.

    5. Enter Connector Name: <host name>

    6. Enter Default QVD Mount Point:/qvd_repositories/<host name>

    7. Enter Host: <Qlik Sense hostname>

    8. Enter Proxy:qdc

    9. Enter Username: <Qlik-Sense-Username>

    10. Enter User Directory: <Active-Directory-domain-name>

    11. Enter Certificates Path: /usr/local/qdc/qlikpublish/certs
    12. Click Test Connector.
      A success message displays at the top of the screen.

    13. Click Save.
    14. Click Show QVD Paths.
    15. Click Sync Paths.
      A qvd_repository path appears.
    16. Click the icon edit (edit) icon to enter the source name: <host> and click OK.

    17. On the QVD Paths page, click Accept for that path and source.

    18. Open the QVD Import section.

    19. In the Qlik Sense Connector window, select SCHEDULE.
    20. Set Job Type to Full Reload and clear Load Data checkbox if it is checked.
    21. Click Run.
    22. In the menu to the left, open Catalog to verify that the QVDs are present.

    23. On your C: drive, open the qvd_repository folder and verify that five QVDs are present.
    24. Using Windows Services management console, restart the Qlik Sense Service Dispatcher.
  8. Use Qlik Catalog from QSE:
    1. Open Qlik Sense hub.

    2. Create a new app.

    3. Click Add data from files and other sources.

    4. In the menu to the left, click QVD Catalog.

      Available QVDs display.

  9. Setup Publish to QSE:
    Single node (Qlik Catalog deployments: Create a connector to PostgreSQL.

    When publishing to Qlik Sense from Qlik Catalog running in a Single Node configuration,) users must create a connector to the PostgreSQL distribution tables that hold views of entities and data in Qlik Catalog.

    1. Log into Qlik Sense.

    2. Select Create New App, enter Name Of My App, click on Create.
    3. App Overview opens. Select Data Load Editor from dropdown in upper left of screen.
    4. Select Create new connection from Data connections sidebar on right side of screen. Select PostgreSQL data source from popup displaying available data source types.
    5. Complete the following fields in the PostgreSQL connection dialog box that opens:
      Database properties:
      Hostname: Enter hostname of the Qlik Catalog server
      Port: Enter the TCP port that PostgreSQL is listening on (defined in postgres.conf)
      Database: podium_dist
      Authentication information:
      User name: Enter the PostgreSQL user that will be used to authenticate the connection
      Password: Enter the password associated with the PostgreSQL user
      SSL Options
      SSL Mode: prefer
    6. Test the connection.

    7. Save the connection. Once created the new connector populates in the right sidebar.

    Multi-node deployments: Create a connector to Hive.

    When publishing to Qlik Sense from Qlik Catalog running in a Multi-node cluster environment, users must create a connector to Hive distribution tables that hold views of entities and data in Qlik Catalog.

    1. Log into Qlik Sense.

    2. Select Create New App, enter Name Of My App, click on Create.

    3. App Overview opens. Select Data Load Editor from dropdown in upper left of screen.
    4. Select Create new connection from Data connections sidebar on right side of screen. Select Hive data source from popup displaying available data source types.
    5. Complete the following fields in the Hive connection dialog box that opens:
      Database properties:
      Hostname: Enter hostname of the server hosting the Hive server for the cluster.
      Port: Enter the TCP port that Hive is listening on (typically 10000)
      Database: user_views
      Authentication information:
      Mechanism: Single Sign-On
      Kerberos FQDN: Enter the fully-qualified domain name of the Kerberos authentication server. In Active Directory environments this will be a domain controller.
      Kerberos Realm: Enter the Kerberos realm associated with the hadoop cluster.

      Krb Service Name: Enter the cluster Kerberos service principal being used by Hive.
      Name: Enter a name for the Hive connector.

    6. Test the connection.

    7. Save the connection. Once created the new connector populates in the right sidebar.

    Configuration of core_env.properties file on Qlik Catalog machine
    Set the following properties in the core_env.properties file. This environmental variable file is located in the TOMCAT_HOME/conf directory. (TOMCAT_HOME was defined during the Qlik Catalog installation process. The installation default is /usr/local/apache-tomcat-<version-number>).

    • is.publish.to.qlik.enabled: Set this property to true to display the Publish to Qlik option in the Qlik Catalog UI cart checkout. Note that the user must logout and log back in to see the button in Cart dropdown after Refresh Core Env.
      example:is.publish.to.qlik.enabled=true
    • podium.qlik.dataconnection.name: Set this property to the name of the connector created in step e. for Single or Multi- node environments
      example: podium.qlik.dataconnection.name= PostgreSQL_QDC.qlik.com(ad_qdc1)
    • podium.qlik.qsockclient.script.directory: Path to qsocks client script directory. This is the directory where qsock client scripts are placed and used for creating, updating, and listing apps. The default location is $QDC_HOME/qlikpublish.
      example: podium.qlik.qsockclient.script.directory=/usr/local/qdc/qlikpublish
    • qlik.sense.url: URL to Qlik Sense server. The URL should be defined using the following format: qlik.sense.url=https://<qliksense-ip-or-host-name>/sense/app/<podium-gen-app-id>
      examples: qlik.sense.url=https://10.111.2.163/sense/app/<podium-gen-app-id>
    • qlik.sense.active.directory.name: Name of the Active Directory domain to which the Qlik Sense server belongs.
      example: qlik.sense.active.directory.name=QLIKTECH
  10. After setting the property values in core_env.properties, login to Qlik Catalog with administrative permissions and click Refresh Core Env located in the top-right of Admin screens, log out of Qlik Catalog and upon login to Qlik Catalog, Publish to Qlik option will appear in My Cart dropdown.

    Tip: Qlik Catalog generates the <podium-gen-app-id> value used in the URL upon navigation to Qlik Sense. when publishing to Qlik.Catalog generates App ID used in URL in Qlik Sense