Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
josecardenas
Contributor III
Contributor III

Qlik sense 1.0.2 Multi-node not working

Hi everyone

I've created a new node as slave in order to link to the master on Qlik Sense (Version 1.0.2). Although I've followed all possible advice on the manuals and on the internet and in the qlik community, I've not getting to work properly. I' ve already installed 3 times the qlik sense on the slave machine and it's not working at all and I'm getting mad!

I've tracked the logs and ports before and after the installation, and before and after  adding the new node, and I've noticed that the port 5151 for some reason is not opening and this one is needed to communicate the schedulers between the master and slave:

https://help.qlik.com/sense/en-us/developer/Subsystems/Qlik_Sense_Repository_Service_API/Content/QRS...

've checked The log on the repository (slave server) and I've got the ERROR below:

41

20150206T120204.625+0000

INFO

WIN-HOSTNAME

System.Repository.Repository.QRSMain

2416

01f5849e-be97-4d82-87ea-a4b605a14297

WIN-HOSTNAME\sense_system

Startup phase completed

01f5849e-be97-4d82-87ea-a4b605a14297

42

20150206T120238.496+0000

ERROR

WIN-HOSTNAME

System.Repository.Repository.Core.Status.ServiceStatusPoller

3352

fa5db67a-90e1-4b15-8fe4-af6cb7ccac21

WIN-HOSTNAME\sense_system

Error when requesting service alive response from 'https://WIN-HOSTNAME:5151/qss/'. Unable to connect to the remote server

fa5db67a-90e1-4b15-8fe4-af6cb7ccac21

43

20150206T120253.348+0000

ERROR

WIN-HOSTNAME

System.Repository.Repository.Core.Status.ServiceStatusPoller

3352

2479368c-6b1a-45b2-ba62-36ae75778431

WIN-HOSTNAME\sense_system

Error when requesting service alive response from 'https://WIN-HOSTNAME:5151/qss/'. Unable to connect to the remote server

2479368c-6b1a-45b2-ba62-36ae75778431


The list of ports opened in the slave:

Proto  Local Address          Foreign Address        State

TCP    0.0.0.0:135            WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:445            WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:3389           WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:4242           WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:4444           WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:5985           WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:47001          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49152          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49153          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49154          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49155          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49156          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49157          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49158          WIN-HOSTNAME:0      LISTENING

TCP    127.0.0.1:4432         WIN-HOSTNAME:0      LISTENING

TCP    127.0.0.1:4432         WIN-HOSTNAME:51111  ESTABLISHED

TCP    127.0.0.1:51111        WIN-HOSTNAME:4432   ESTABLISHED

TCP    xxx.xxx.x.x:139        WIN-HOSTNAME:0      LISTENING

TCP    xxx.xxx.x.x:3389       yyy.yyy.y.y:57694      ESTABLISHED

TCP    xxx.xxx.x.x:3389      yyy.yyy.y.y:58255      ESTABLISHED

I've checked The log on the scheduler (slave server) and I've got the ERROR below:

2

20150206T121129.133+0000

INFO

WIN-HOSTNAME

System.Scheduler.Scheduler.Core.Utility.CommonInitializer

2360

d6634f2e-4cd2-47bc-8f53-bcc61c6e1ccb

WIN-HOSTNAME\sense_system

Running common startup sequence

d6634f2e-4cd2-47bc-8f53-bcc61c6e1ccb

3

20150206T121130.367+0000

ERROR

WIN-HOSTNAME

System.Scheduler.Scheduler.Communication.Wrapper.Repository.RepositoryWrapper

2360

6072438a-dbb8-42fb-ae8e-27e0b6fb833f

WIN-HOSTNAME\sense_system

Exception message from RestResponse: The remote server returned an error: (404) Not Found.

6072438a-dbb8-42fb-ae8e-27e0b6fb833f

4

20150206T121130.852+0000

ERROR

WIN-HOSTNAME

System.Scheduler.Scheduler.Communication.Wrapper.Repository.RepositoryWrapper

2360

a55049b3-bf09-4bbd-9416-9454209e3856

WIN-HOSTNAME\sense_system

Exception message from RestResponse: The remote server returned an error: (404) Not Found.

a55049b3-bf09-4bbd-9416-9454209e3856

5

20150206T121131.070+0000

ERROR

WIN-HOSTNAME

System.Scheduler.Scheduler.Communication.Wrapper.Repository.RepositoryWrapper

2360

fba02bec-5009-4a59-bcb9-152dd7057c68

WIN-HOSTNAME\sense_system

Exception message from RestResponse: The underlying connection was closed: An unexpected error occurred on a send. -> Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. -> An existing connection was forcibly closed by the remote host

108

20150206T121600.751+0000

ERROR

WIN-HOSTNAME

System.Scheduler.Scheduler.Communication.Wrapper.Repository.RepositoryWrapper

2360

3c0a7052-4e6d-4fe4-a2b6-9ce8da865e7b

WIN-HOSTNAME\sense_system

Exception message from RestResponse: The remote server returned an error: (403) Forbidden.

3c0a7052-4e6d-4fe4-a2b6-9ce8da865e7b

109

20150206T121605.794+0000

ERROR

WIN-HOSTNAME

System.Scheduler.Scheduler.Communication.Wrapper.Repository.RepositoryWrapper

2360

115be77c-cab2-4aef-95c9-669bda18d824

WIN-HOSTNAME\sense_system

Exception message from RestResponse: The remote server returned an error: (403) Forbidden.

115be77c-cab2-4aef-95c9-669bda18d824

110

20150206T121610.810+0000

ERROR

WIN-HOSTNAME

System.Scheduler.Scheduler.Communication.Wrapper.Repository.RepositoryWrapper

2360

b03350ff-a6c8-49f3-ace4-87c09ea1d971

WIN-HOSTNAME\sense_system

Exception message from RestResponse: The remote server returned an error: (403) Forbidden.

b03350ff-a6c8-49f3-ace4-87c09ea1d971

I've checked the windows event log and I'm getting many times the same error from PostgreSQL database. Here a sample:

The description for Event ID 0 from source PostgreSQL cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

ERROR:  column c.CreatedOn does not exist at character 10

STATEMENT:  SELECT

c."CreatedOn"

FROM "__MigrationHistory" AS c

LIMIT 1

So … from this point I've just gave up, trying to find another alternative to the issue. 

Any HELP and possible solution is really appreciated!

Thanks everybody

Jose.

1 Solution

Accepted Solutions
josecardenas
Contributor III
Contributor III
Author

Hi Masaki and Ricardo

Both of you have many helpful questions and answers, however I think we've diverted just a bit the original post.  After all, the q&a set has been very helpful for my future nodes creation.

I want to tell you that the slaver node right now is working.  The main issue was solved and it was the communication between the machines wasn't taken by qlik.  In order to work the machines dns names must be declared on the host of every machine and the certificates must be created in the same way (with dns).

Roughly the solutions explained below:

  1. Install the rim node and when the service credentials is requested use the machine name
  2. Place the dns name of the central server on the hosts file on the rim node
  3. Place the dns name of the rim server on the hosts file on the central node
  4. Be sure the domains name are on the same domain on but machines (p.e xxxx.domain.com for the central node and yyyy.domain.com for the rim node)
  5. Add the rim node on the qmc application on the central node.
  6. When add the rim node place the full domain name of the rim node (yyyy.domain.com)
  7. After this follow the normal steps in order to authorize the rim node.

Last but no least the key point is with the certificates. The final result of the certificates must be:

  1. Issued to the yyyy.domain.com (rim node)
  2. Trusted certification authority must be xxxx.domain.com (central node)

Jose

PD: Thanks Masaki for your guide; and Ricardo thanks for your questions that could be helpful in my feature nodes creation.

View solution in original post

11 Replies
Masaki_Hamano
Employee
Employee

Hi Jose,

Port 4241 is missing in your list of opened port in the slave node. The port is used for QRS synchronization in multi-node sites.

Masaki

josecardenas
Contributor III
Contributor III
Author

Hi Masaki.

Really weird!

I've installing for 5th time to check what's happening with the ports!


Once is installed (before links as slave server) the open ports list is you find below:

Proto  Local Address          Foreign Address        State

TCP    0.0.0.0:135            WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:445            WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:3389           WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:4444           WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:4570           WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:5985           WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:47001          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49152          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49153          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49154          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49155          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49156          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49157          WIN-HOSTNAME:0      LISTENING

TCP    0.0.0.0:49158          WIN-HOSTNAME:0      LISTENING

TCP    127.0.0.1:4432         WIN-HOSTNAME:0      LISTENING

TCP    127.0.0.1:4432         WIN-HOSTNAME:49170  ESTABLISHED

TCP    127.0.0.1:4444         WIN-HOSTNAME:49188  ESTABLISHED

TCP    127.0.0.1:49170        WIN-HOSTNAME:4432   ESTABLISHED

TCP    127.0.0.1:49188        WIN-HOSTNAME:4444   ESTABLISHED

TCP    192.168.0.5:139        WIN-HOSTNAME:0      LISTENING

TCP    192.168.0.5:3389       192.168.0.4:62072      ESTABLISHED

192.168.0.5 is the master server and 192.168.0.4 is the slave one (internal address)

I think the ports are open on the server once you register the slave on the master.  But for some reason it's not working!

Jose

Masaki_Hamano
Employee
Employee

Hi Jose,

It is hard to identify in which step you got stuck and where the issue lies in your environment, so I quickly documented the steps I followed to build a multi-node environment successfully. I attached the file in the following URL, so please refer to it (Please make sure that the all necessary port is open, and that the master and slave node can communicated with the host name specified while installation.):

Qlik Sense Multi-node Setup Guide

I hope it helps.

Masaki

Ricardo_Gerhard
Employee
Employee

Hi Masaki,

   Thanks for this document. I´ve a questions.

What I need to configure in "Web socket origin white list"? Only add the RIM server in Central Node?

How I simulate a user access in this multiple nodes?

Where I see what server this user is using?

Ricardo Gerhard
OEM Solution Architect
LATAM
Masaki_Hamano
Employee
Employee

Hi Ricardo,

Thank you for your question. You need to add machine addresses to "Web socket origin white list", with which users access to the server. So, for instance, if users access to the added rim node with "rim1.example.com", you need to add it to the white list. Or if users access to it through a network load balancer ("nlb.example.com") placed in front of the configured nodes, you add it to the list. You can independently set a white list for each proxy node, so the same idea applies to other rim nodes and the central node, too.


It is also possible to configure a proxy server as an load balancing node by adding multiple engine node entries to "load balancing node" in proxy setting. In this configuration, user accesses to the proxy node are distributed among registered engine nodes. The same idea applies to this case: you need to add the machine address of the proxy rim node to the white list.


Masaki

Ricardo_Gerhard
Employee
Employee

Thanks Masaky,

So, How I simulate a user access in this multiple nodes?

Example: USER1 access QPS (webserver) on SERVER1 and open APPX, that have two QES (server1 and server2).

How I guarantee that user1 is opening the appx in this two server?

Like a Qlikvew Server,  I want to know how connections are openning in this CLUSTER.

Ricardo Gerhard
OEM Solution Architect
LATAM
Masaki_Hamano
Employee
Employee

Hi Richardo,

The load balancing module handles which QES handles a session, and it is logged in Audit log of QPS. So, when there are multiple QES nodes under a QPS, you can identify which QES is actually handling a session by checking the log.

Regards,

Masaki

josecardenas
Contributor III
Contributor III
Author

Hi Masaki and Ricardo

Both of you have many helpful questions and answers, however I think we've diverted just a bit the original post.  After all, the q&a set has been very helpful for my future nodes creation.

I want to tell you that the slaver node right now is working.  The main issue was solved and it was the communication between the machines wasn't taken by qlik.  In order to work the machines dns names must be declared on the host of every machine and the certificates must be created in the same way (with dns).

Roughly the solutions explained below:

  1. Install the rim node and when the service credentials is requested use the machine name
  2. Place the dns name of the central server on the hosts file on the rim node
  3. Place the dns name of the rim server on the hosts file on the central node
  4. Be sure the domains name are on the same domain on but machines (p.e xxxx.domain.com for the central node and yyyy.domain.com for the rim node)
  5. Add the rim node on the qmc application on the central node.
  6. When add the rim node place the full domain name of the rim node (yyyy.domain.com)
  7. After this follow the normal steps in order to authorize the rim node.

Last but no least the key point is with the certificates. The final result of the certificates must be:

  1. Issued to the yyyy.domain.com (rim node)
  2. Trusted certification authority must be xxxx.domain.com (central node)

Jose

PD: Thanks Masaki for your guide; and Ricardo thanks for your questions that could be helpful in my feature nodes creation.

Masaki_Hamano
Employee
Employee

Hi Jose,

Thank you for your feedback. I am glad that you have successfully made it work

Masaki