Skip to main content

I have FME Server running on Machine A. (Engine within this docker compose is working)

 

Now I want to have my engines running on a different machine.

 

 

I've setup the following docker compose on Machine B (Engine host)
version: '3.2'
services:
  fmeserverengine:
    user: 0:1363
    image: quay.io/safesoftware/fmeserver-engine:2019.0.1-20190506
    volumes:
      - '/fmeserverdata:/data/fmeserverdata'
    restart: always
    environment:
      - EXTERNALHOSTNAME=${FME_HOST}
      - EXTERNALPORT=${FME_PORT}
      - WEBPROTOCOL=${FME_PROT}
    hostname: fme-enginserver-engine-1
    extra_hosts:
      - "fmeserverdb:${FME_HOST_IP}"
      - "fmeservercore:${FME_HOST_IP}"

 

In addition, I mounted the /data/fmeserverdata from Machine A, on Machine B (/fmeserverdata).

 

When I start the engine container on Machine B, I can see the logs from Machine B using the webinterface on Machine A. (/resources/logs)

 

 

However, When I spin up the container, the only error I see is the following:
FME 2019.0.1.0 (20190506 - Build 19253 - linux-x64)
        FME Engine (node locked-crc)
Machine host name is: fme-enginserver-engine-1
Operating System: Ubuntu 16.04.6 LTS (Xenial Xerus)
Copyright (c) 1994 - 2019, Safe Software Inc.
            Safe Software Inc.

FME_SHARED_RESOURCE_DIR is unset
FME_SHARED_RESOURCE_DIR has been changed and is now '/data/fmeserverdata/resources/engine'

Could not establish connection to host
Program Terminating

Translation FAILED.

 

This error keeps repeating untill I shutdown the container, which is also required to access the web interface again because somehow as long as the engine container on Machine B is running, the server core container on Machine A becomes irresponsive.

I need some advice on either how to debug why it can't connect, or how to solve it alltogether.

 

 

Thank you in advance!

There's some general troubleshooting topics related to FME Server here: FME Server Troubleshooting


There's some general troubleshooting topics related to FME Server here: FME Server Troubleshooting

I’ve been there, but I’m either not seeing it, or my problem isn’t listed.


I’ve found that the server core opens up a random port for the engine to connect to;

 

 

INFORM : Registering FME Engine...
INFORM : Transaction port 37629 opened for FME Engine communication
ERROR : No message length returned in FME Engine response

 

It’s unable for the engine to connect to this because the ports have to be pre-defined.

 

Is there a way to set a port-range for the Transactions that I can map in my docker-compose file?

Turns out I can set the 

PORTPOOL

variable in docker compose, my problem is now solved.


I am in the same situation, I have set the PORTPOOL but it still doesn't work.


Reply