Skip To Content

Change the location of Kafka and ZooKeeper data files

The ArcGIS GeoEvent Gateway uses a local folder for Apache Kafka on-disk topic queues and Apache ZooKeeper configuration files.

  • On Windows, the default directory is C:\ProgramData\Esri\GeoEvent-Gateway.
  • On Linux, the default directory is /home/arcgis/.esri/GeoEvent-Gateway.

When installing ArcGIS GeoEvent Server to a drive or file path other than the default, the ArcGIS GeoEvent Gateway uses the default folders above for the Kafka and ZooKeeper files. This can pose a problem if, for example, an organization’s standard practice is to limit the available disk on the C: drive and install software on another drive. If this is the case, you can reconfigure the ArcGIS GeoEvent Gateway to write data files to a folder other than one of the default folders. This change must be made after installing GeoEvent Server.

Follow the steps below, for either Windows or Linux, to change the location of the Kafka on-disk topic queues and ZooKeeper configuration files.

Nota:

The steps below delete the existing GeoEvent Server configuration. It is recommended that you perform these changes immediately after installing GeoEvent Server and before configuring GeoEvent Server or deploying custom components.

Nota:

The system account used to run ArcGIS GeoEvent Server and the ArcGIS GeoEvent Gateway services on Windows or the equivalent daemons on Linux must have full control to read/write, create, and delete files to the file path you choose for the GeoEvent Gateway data files.

Nota:

Windows UNC path names are not supported. When specifying a gateway data directory, use a local server directory, such as C:\ProgramData\Esri or D:\Data\Esri on Windows, or a path under the user account used to run GeoEvent Server, such as /home/arcgis/.esri on Linux.

Export current configuration

If inputs, outputs, or other elements, such as GeoEvent Services or GeoEvent Definitions, are configured in GeoEvent Server, complete the following steps to export the current configuration before proceeding with the next sections:

  1. Start ArcGIS GeoEvent Manager and browse to Site > GeoEvent > Configuration Store.
  2. Click Export Configuration to create a backup of the existing configuration.

    If you have custom components (connectors or processors) deployed, it is recommended that you perform the next step to remove them from GeoEvent Server before proceeding with the next section.

  3. With the ArcGIS GeoEvent Server service running, move existing *.jar files from the deploy folder to a temporary directory.

    The deploy folder is located at <ArcGIS Server installation directory>\GeoEvent\deploy.

Change the location on Windows

  1. Stop the ArcGIS GeoEvent Server and ArcGIS GeoEvent Gateway Windows services.
  2. In File Explorer, browse to the ArcGIS GeoEvent Gateway configuration files in the etc folder located at <ArcGIS Server installation directory>\GeoEvent\gateway\etc.
  3. Open the kafka.properties file in a text editor and update the gateway.data.dir and log.dirs property values with the appropriate values.

    The default values for these properties are as follows:

    • gateway.data.dir=C://ProgramData//Esri//GeoEvent-Gateway//
    • log.dirs= kafka/logs,kafka/logs1,kafka/logs2

    Nota:

    The gateway data directory should specify an existing folder. The log directories specify a comma-separated list of subfolders that ArcGIS GeoEvent Gateway creates when the service is restarted.

    Nota:

    ArcGIS GeoEvent Server 10.8.1 and earlier specified a single subfolder, kafka/logs. Starting with 10.9, multiple partitions and topics are configured requiring that three subfolders be specified (for example, kafka/logs,kafka/logs1,kafka/logs2).

  4. Save and close the kafka.properties file.
  5. In File Explorer, browse to the ArcGIS GeoEvent Gateway configuration files in the etc folder in the <ArcGIS Server installation directory>\GeoEvent\gateway\etc directory.
  6. Open the zookeeper.properties file in a text editor and update the gateway.data.dir and data.dir property values with the appropriate values.

    The default values for these properties are as follows:

    • gateway.data.dir=C://ProgramData//Esri//GeoEvent-Gateway//
    • data.dir=zookeeper-data

    Nota:

    The gateway data directory should specify an existing folder. The data directory specifies a configuration subfolder that ArcGIS GeoEvent Gateway creates when the service is restarted.

  7. In File Explorer, browse to and delete the files and folders in the data located at <ArcGIS Server installation directory>\GeoEvent\data.
  8. Restart the ArcGIS GeoEvent Gateway Windows service.
  9. Wait several minutes for ArcGIS GeoEvent Gateway to start running; then start the ArcGIS GeoEvent Server Windows service.
  10. Start ArcGIS GeoEvent Manager and confirm that you can sign in.
  11. Optionally, if you deployed custom components, move the *.jar files back into the deploy located at <ArcGIS Server installation directory>\GeoEvent\deploy.
  12. Optionally, if you exported the GeoEvent Server configuration, import it using ArcGIS GeoEvent Manager by browsing to Site > GeoEvent > Configuration Store and clicking Import Configuration.
Nota:

If new files and folders are not created under the specified gateway data directory after the ArcGIS GeoEvent Gateway is restarted, it is likely a permission issue with the system account used to run ArcGIS GeoEvent Server and ArcGIS GeoEvent Gateway being unable to read and write files to the specified folder.

Change the location on Linux

  1. Stop the ArcGIS GeoEvent Server and ArcGIS GeoEvent Gateway Linux daemons.
  2. Browse to the ArcGIS GeoEvent Gateway configuration files in the etc located at <ArcGIS Server installation directory>\GeoEvent\gateway\etc.
  3. Open the kafka.properties file in a text editor and update the gateway.data.dir and log.dirs property values with the appropriate values.

    The default values for these properties are as follows:

    • gateway.data.dir=/home/arcgis/.esri/GeoEvent-Gateway
    • log.dirs= kafka/logs,kafka/logs1,kafka/logs2

    Nota:

    The gateway data directory should specify an existing folder. The data directory specifies a configuration subfolder that ArcGIS GeoEvent Gateway creates when the daemon is restarted.

    Nota:

    ArcGIS GeoEvent Server 10.8.1 and earlier specified a single subfolder, kafka/logs. Starting with 10.9, multiple partitions and topics are configured requiring that three subfolders be specified (for example, kafka/logs,kafka/logs1,kafka/logs2).

  4. Save and close the kafka.properties file.
  5. Browse to the ArcGIS GeoEvent Gateway configuration files in the etc folder located at <ArcGIS Server installation directory>\GeoEvent\gateway\etc.
  6. Open the zookeeper.properties file in a text editor and update the gateway.data.dir and data.dir property values with the appropriate values.

    The default values for these properties are as follows:

    • gateway.data.dir=/home/arcgis/.esri/GeoEvent-Gateway
    • data.dir=zookeeper-data

    Nota:

    The gateway data directory should specify an existing folder. The data directory specifies a configuration subfolder that ArcGIS GeoEvent Gateway creates when the daemon is restarted.

  7. Browse to and delete the files and folders in the data folder located at /home/arcgis/server > rm -rf GeoEvent/data/*.
  8. Restart the ArcGIS GeoEvent Gateway daemon.
  9. Wait several minutes for the ArcGIS GeoEvent Gateway to start running; then start the ArcGIS GeoEvent Server daemon.
  10. Start ArcGIS GeoEvent Manager and confirm that you can sign in.
  11. Optionally, if you deployed custom components, move the *.jar files back into the deploy folder located at <ArcGIS Server installation directory>\GeoEvent\deploy.
  12. Optionally, if you exported the GeoEvent Server configuration, import it using ArcGIS GeoEvent Manager by browsing to Site > GeoEvent > Configuration Store and clicking Import Configuration.
Nota:

If new files and folders are not created under the specified gateway data directory after the ArcGIS GeoEvent Gateway is restarted, it is likely a result of a permission issue with the system account used to run ArcGIS GeoEvent Server and ArcGIS GeoEvent Gateway being unable to read and write files to the specified folder.

Additional considerations

The Kafka on-disk topic queues and ZooKeeper configuration files should be organized in the same data directory. For example, on Windows, the default directory for the Kafka on-disk topic queues is C:\ProgramData\Esri\GeoEvent-Gateway\kafka\logs, and the ZooKeeper configuration files default directory is C:\ProgramData\Esri\GeoEvent-Gateway\zookeeper-data. Kafka and ZooKeeper are tightly coupled, and their runtime files should be collocated.

The ArcGIS GeoEvent Server and ArcGIS GeoEvent Gateway services are constantly communicating with one another. Data from event records flows through Kafka topics as it is collected, processed, and disseminated. The status of configured elements and information cached by GeoEvent Server is frequently updated in the ZooKeeper configuration store.

The ArcGIS GeoEvent Gateway runtime files must be stored locally on the server running the ArcGIS GeoEvent Gateway service on Windows or the equivalent daemon on Linux. Avoid storing the files on a network shared folder or a SAN or NAS; doing so will impact performance, solution reliability, and stability.