Adding FME Engines on a Separate Machine
You can add processing capacity to your FME Server by installing additional FME Engines on a separate computer from the FME Server Core.
In the instructions below, the computer that hosts the FME Server Core is the <coreHost>.
Note: In a fault-tolerance environment, we recommend assigning unique names to FME Engines. However, if multiple FME Engine hosts have the same FME Engine name, the job queue server configuration applies to all FME Engines with the same name in the same way regardless of which host it resides on. For more information, see Job Queues.
- Obtain the Installer. Be sure to obtain the FME Server Installer (not the Engine Installer).
- Start the installer on another computer (<engineHost>).
-
On the Installation Extractor dialog, specify a Destination folder in which to extract installation files. Note that this folder only specifies where installation files are extracted—it does not specify where FME Server program files are installed. That location is specified later in the installer.
Tip: Take note of the specified Destination folder location. Following installation, you may wish to:
Review the installation .log file.
Remove these files. Doing so saves almost 2 GB disk space.
Click Install.
When extraction is complete, the installer opens. Proceed through the installer to the Choose Setup Type dialog.
- On the Choose Setup Type dialog, select the Distributed Engine setup type.
- On the Destination Folder dialog, specify the directory to install the FME Engines.
- On the User Account page, specify the Windows user account that will run the <engineHost>. This account must have:
- Read/Write access to the FME Server System Share that you specify in the next dialog. The System Share is the location where FME Server stores Repositories and Resources files.
- Read/Write access to the FME Server installation directory that you specified in the previous dialog.
- "Log on as a service" rights on the <engineHost>. For more information, see this Microsoft Docs article.
- On the Existing FME Server System Share dialog, provide the UNC path to the FME Server System Share directory.
- On the FME Server Hostname dialog, enter the hostname of the <coreHost> computer.
- On the Database Server Type dialog, specify the database type that you specified when installing the FME Server Core. If you specified a database other than the "FME Server Database," enter the connection parameters in the next dialog.
- On the Install Python 2.7 dialog, specify whether you want to install an optional Python 2.7 interpreter. (A Python 3.7 interpreter is installed by default.)
- Complete the remaining dialogs of the FME Server Installer.
- If this <engineHost> is connecting to a <coreHost> that also hosts the built-in FME Server database and the initial FME engines, as with an Express Installation, allow the necessary connection to this machine:
- On the <coreHost>, open file pg_hba.conf, located in %ALLUSERSPROFILE%\Safe Software\FME Server\pgsql\data.
- Change the following lines:
- Restart the FME Server Database and FME Server Engines services.
- If the <coreHost> machine was an Express Installation of FME Server, complete the following steps on the <coreHost> to configure the FME Server Web Services:
- Open the corresponding propertiesFile.properties file for the Data Download, Data Streaming, Job Submitter, and Notification services, located at <FMEServerDir>\Utilities\tomcat\webapps\<service_name>\WEB-INF\conf\propertiesFile.properties.
- For each properties file, locate the parameter REQUEST_DATA_DIR and change the value from a local file system path (for example, C:/ProgramData/Safe Software/FME Server//resources/system/temp/requestdata) to a UNC path that references the <coreHost> (for example, //MyHost/FME Server/resources/system/temp/requestdata).
- After saving the changes in the properties file for each service, restart the FME Server Application Server service.
For example, the properties file for the Data Download Service is at <FMEServerDir>\Utilities\tomcat\webapps\fmedatadownload\WEB-INF\conf\propertiesFile.properties
Note: Use forward slashes only.
- On the <coreHost> machine, open configuration file fmeServerConfig.txt, located in <FMEServerDir>\Server\, and update the FME_SERVER_HOST_NAME parameter to a value that fully resolves to the IP address of the <coreHost> machine.
- Restart the FME Server Core service.
If the <coreHost> machine is an Express installation of FME Server, the System Share is written, by default, to %ALLUSERSPROFILE% \Safe Software\FME Server\, unless specified otherwise.
Note: Unless modified, C:\ProgramData is the default value of the %ALLUSERSPROFILE% environment variable.
In all cases, enter the UNC path to the System Share, including the final Safe Software\FME Server directories, which are created by default. For example, \\MyServer\Safe Software\FME Server.
WARNING: The Python 2.7 interpreter relies on the Visual Studio 2008 runtime, which has security vulnerabilities. If you will run existing FME Desktop workspaces from FME Server that reference Python 2.7, we strongly recommend upgrading them to reference Python 3.x in lieu of installing the Python 2.7 interpreter.
Note: Unless modified, C:\ProgramData is the default value of the %ALLUSERSPROFILE% environment variable.
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
to:
host all all 0.0.0.0/0 md5
host all all ::/0 md5
- Mount the FME Server Core installation directory shared by <coreHost>:
- Obtain the Installer. Be sure to obtain the FME Server Installer (not the Engine Installer).
- Start the FME Server Installer.
- Select the Engine Install.
- Choose to install only the FME Engine component by selecting Yes to the FME Engine component prompt and No to the other component prompts.
- Enter the path to the mounted directory.
- Enter the host name of the <coreHost> computer.
- Enter the database type you specified when installing the FME Server Core. If you specified a database other than the "FME Server Database", enter the connection parameters.
- Complete the remaining dialogs of the FME Server Installer.
- Manually start FME Server, and configure it to start automatically.
-
If this <engineHost> is connecting to a <coreHost> that also hosts the built-in FME Server database and the initial FME engines, as with an Express Installation, allow the necessary connection to this machine:
- On the <coreHost>, open file pg_hba.conf, located in <FMEServerDir>\Utilities\pgsql\data\.
- Change the following lines:
- Restart the FME Server Database and FME Server Engines services.
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
to:
host all all 0.0.0.0/0 md5
host all all ::/0 md5
- Ensure that the user account that runs <engineHost> has the necessary permissions to access the FME Server System Share and the FME Server install directory. For more information, see Directory and Account Permissions.
- On the <coreHost> machine, open configuration file fmeServerConfig.txt, located in <FMEServerDir>\Server\, and update the FME_SERVER_HOST_NAME parameter to a value that fully resolves to the IP address of the <coreHost> machine.
- Restart the FME Server Core service.
mount <coreHost>:<FMEServerDir>/home/FMEServer
The installer prompts you for the path to the <coreHost> installation directory. In a fault-tolerant installation, the primary <coreHost> should always be specified. Do not specify the failover host.
The installer prompts you for the name of the FME Server Host.
The installation on <engineHost> starts two FME Engines by default. The FME Engines start and register with the FME Server Core running on <coreHost>. All licensed engines are listed on the Engines & Licensing page of the Web User Interface, under 'Licensed Engines'.
Note: You may have to disable any firewalls that are running on this computer.
You can also use the Engines & Licensing page to perform the following tasks:
- To license FME Engines, see Request and Install a License.
- If you want this computer to start more or less FME Engines, see Configuring the Number of FME Engines to Start.
For more information, see Verify the Installation (Windows) or Verify the Installation (Linux).