English

Error: “Failed to initialize distributed compute platform.” or “Unable to start distributed job. Please check your GeoAnalyticsTools service settings and ensure that there are enough resources available for the job to run.”

Error Message

While running any ArcGIS GeoAnalytics Server analysis tool, a job fails with one of the following messages:

 “Failed to initialize distributed compute platform.”

or

“Unable to start distributed job. Please check your GeoAnalyticsTools service settings and ensure that there are enough resources available for the job to run.”
Screenshot of the "Failed to Initialize distributed compute platform" error message
Screenshot of the "Unable to start distributed job" error message

Cause

ArcGIS GeoAnalytics Server uses a third-party technology called Zookeeper, also known as the synchronization service, to synchronize the sever machines in a GeoAnalytics site. Zookeeper allows for another third-party technology called Spark, also known as the compute platform, to distribute spatial analysis across the cores of the machines in a GeoAnalytics site. If the synchronization service is not working correctly, the compute platform is not able to distribute a spatial analysis job and the job fails with one of the error messages shown above.

In most cases the synchronization service goes into this state after the ArcGIS Server service on one or more machines in the GeoAnalytics site is restarted quickly or stopped. Once in this state the synchronization service must be reset before jobs will run successfully again.

The message “Unable to start distributed job. Please check your GeoAnalyticsTools service settings and ensure that there are enough resources available for the job to run.” is also seen if the GeoAnalytics Server settings are not properly configured. Verify that this is not the issue before resetting the synchronization service.

With ArcGIS Enterprise version 10.6 or later, it is possible to verify that the synchronization service must be reset by looking at the GeoAnalytics health check. The compute platform should have one master node. There should also be as many workers under that master node as machines in the GeoAnalytics site and all workers should be in an ALIVE state. If any of these conditions are not met, the synchronization service is not working correctly and should be reset.

Solution or Workaround

Note: 
For ArcGIS Enterprise 10.7 or later, please refer to the “Common GeoAnalytics problems and solutions” help topic in the product documentation for a description of the solution to this issue. For ArcGIS Enterprise 10.6.1 or earlier, use the instructions below.
There are two methods of resetting the synchronization service. The first method involves restarting the ArcGIS Server service on each machine in a GeoAnalytics site as described in Common GeoAnalytics problems and solutions, under the topic: I am running a GeoAnalytics job that unexpectedly fails with the error message Unable to initialize distributed compute platform. What do I do?

If GeoAnalytics jobs still fail with one of the above messages after following these steps, the second method is required that involves a more complete reset of the synchronization service:
  1. Stop the ArcGIS Server service on all machines in the GeoAnalytics Server Site. On Windows, stop the ArcGIS Server Windows services, and on Linux stop all machines using the stopserver.sh script.
  2. Delete the local synchronization service configuration files on each GeoAnalytics Server node:
    1. Find the local repository path for the GeoAnalytics site. This path can be found by signing in as an administrator to the ArcGIS Server Administrator Directory of the GeoAnalytics Server site and navigating to system > configstore. The Local Repository Path is the path on each machine containing the local synchronization service configuration files.
    2. On each machine in your GeoAnalytics site, navigate to the local repository path and delete the zookeeper folder. This folder must be deleted on every machine in your site before moving on to the next step.
  3. Start the ArcGIS Server service on all machines in your GeoAnalytics Server site. On Windows, start the ArcGIS Server Windows service, on Linux start all machines using the startserver.sh script.
  4. Wait two minutes and run a GeoAnalytics job to verify that the synchronization service is working normally.

Related Information