Alteryx Server Knowledge Base

Definitive answers from Server experts.

Alteryx Server and Client are Incompatible Error

gouthamiunnava
Alteryx Alumni (Retired)
Created

Environment Details


The below error happens when adding a new worker to the controller :
Alteryx Server and Client are Incompatible
 
  • Alteryx Server
    • Versions (all)

When configuring the setup, please make sure the following pre-requisites are met:
  1. The Version of the new worker that is being added is exactly the same as the controller.
  2. The correct Controller token is used while configuring the worker node.
  3. Test to make sure that port 80 is not blocked by opening a web browser on the Worker machine and navigate to http://<controller server name>/AlteryxService/status.  You will get a similar response as below:
<AlteryxServiceStatus>
  <ServerName>AlteryxService</ServerName>
  <ServerVersion>11.3.3.30523</ServerVersion>
  <ServerBuildTime>Jul  8 2017 12:56:42</ServerBuildTime>
  <Authenticated>False</Authenticated>
</AlteryxServiceStatus>

Causes

Cause 1:

The issue can occur when the VM that is used to configure the worker does not meet the minimum requirements specified in the help guide:  https://help.alteryx.com/current/server/system-requirements.
It only had 2 cores 4 GB RAM  when this issue was seen.
This could happen if you set up a test environment and allocated resources that do not meet the system requirements specified. If this is the cause, navigate to Solution A.
 
Cause 2:

Another reason could be because of a different port than the default port, configured for the Controller, under the <ServicePort> tag of RuntimeSettings.xml file. There are situations, where you may need to change the default port used by the Controller (i.e - port 80), and this can be done using the steps on this article . So, if the port is changed for the Controller, and if that is not mentioned while connecting to the Controller from Worker, then this error could also occur. If this is the cause, navigate to Solution B.
 

Cause 3:

Windows Firewall or third-party firewall is blocking traffic on port 80. Open the web browser and enter the IP address of the server. If you are presented with a "site cant be reached", with steps related to firewall or proxy, this is usually an indication the server cannot be accessed due to a block. see example below:. Go to Solution C
 

image.png

Resolutions
 

Solution A

After scaling up the server to what is recommended (4 cores and 16 GB RAM) in the documentation https://help.alteryx.com/current/server/system-requirements, the worker is able to connect to the controller node. 
 

Solution B

  • Make a note of the new port configured for the controller
    • This can be done by opening the "RuntimeSettings.xml" file (by default - this would be under - C:\ProgramData\Alteryx location) on the Controller node.
    • Search for "<ServicePort>" tag in the RuntimeSettings.xml file.
image.png

 
     
    • Copy the value for the port number from the above ServicePort tag
    • Navigate to the Worker node, and launch the Alteryx System Settings
    • Navigate to "Controller" --> "Remote" section.
    • In the "Host" textbox, make sure to add the hostname of the controller, followed by the controller port number, in the format:
      • <Controller_hostname>:<Controller_port>
    image.png
    • Add the Controller token and click "Next". The compatibility of Worker and Controller would be valid now.

    Solution C

    Open the Window Firewall console on the Alteryx Server
    1. Open Control Panel, then Windows Defender Firewall, then click on "Turn Windows Defender Firewall on or off". (Note: its possible these settings are blocked by group policy, in which case you may need to involve your IT Administrators)
    2. You can start by temporarily turning off window firewall settings as shown below, then re-testing the host and token name on the worker node.
    image.png
    1. If the test on the worker node is successful, You need to create an Inbound and Outbound rule for port 80 on the server. 
      1. Open Windows Defender Firewall from the Control Panel and select Advanced Settings
      2. Right-Click on Inbound Rules and select New
      3. Select port then click next
      4. Enter port 80 under Specific local ports, then click next
      5. Select Allow the connection, then click next
      6. Select Domain, Private and Public, next
      7. Name the rule. (example: Enable Port 80), then click finish
    2. Most organizations leave Outbound connections open, however, if this is not the case please repeat step 3 for Outbound connection as well
    Note: If internal policies do not permit you to make these changes, please consult with your IT Administrator. Please reach out to the IT admin for any third-party firewall configurations.

    Additional Resources

    Comments
    ChrisJames
    5 - Atom

    I was able to solve my issue with this solution.    I was not previously aware of the status page.  That filed to work and now that I know about it,  I update my server to fix that and the RunTimeSetting XML

     

    1. Test to make sure that port 80 is not blocked by opening a web browser on the Worker machine and navigate to http://<controller server name>/AlteryxService/status.  You will get a similar response as below: