Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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:
'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.
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:
Last but no least the key point is with the certificates. The final result of the certificates must be:
Jose
PD: Thanks Masaki for your guide; and Ricardo thanks for your questions that could be helpful in my feature nodes creation.
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
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
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
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?
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
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.
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
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:
Last but no least the key point is with the certificates. The final result of the certificates must be:
Jose
PD: Thanks Masaki for your guide; and Ricardo thanks for your questions that could be helpful in my feature nodes creation.
Hi Jose,
Thank you for your feedback. I am glad that you have successfully made it work
Masaki