Skip To Content

更改 Kafka 和 ZooKeeper 数据文件的位置

ArcGIS GeoEvent Gateway 将本地文件夹用于存储 Apache Kafka 磁盘上主题队列和 ZooKeeper 配置文件。

  • Windows 上,默认目录是 C:\ProgramData\Esri\GeoEvent-Gateway
  • Linux 上,默认目录是 /home/arcgis/.esri/GeoEvent-Gateway

ArcGIS GeoEvent Server 安装到驱动器或非默认文件路径时,ArcGIS GeoEvent Gateway 将上述默认文件夹用于存储 Kafka 和 ZooKeeper 文件。 这会在组织标准实践为限制 C 盘上的可用磁盘并在另一个驱动器上安装软件等情况下带来一个问题。 如果是这样,可以将 ArcGIS GeoEvent Gateway 重新配置为将数据文件写入默认文件夹之外的其他文件夹。 此更改必须在安装 GeoEvent Server 之后完成。

针对 WindowsLinux 按照以下步骤更改 Kafka 磁盘上主题队列和 ZooKeeper 配置文件的位置。

注:

下面的步骤将删除现有 GeoEvent Server 配置。 建议在安装 GeoEvent Server 后、配置 GeoEvent Server 或部署自定义组件之前立即执行上述更改。

注:

用于运行 ArcGIS GeoEvent Server 和 ArcGIS GeoEvent Gateway 服务(在 Windows 上)或等效后台程序(在 Linux 上)的系统帐户必须具有在为 GeoEvent Gateway 数据文件选择的文件路径中读/写、创建和删除文件的完全控制权限。

注:

不支持 Windows UNC 路径名称。 指定网关数据目录时,在 Windows 上使用本地服务器目录(例如 C:\ProgramData\EsriD:\Data\Esri),或在 Linux 上使用用于运行 GeoEvent Server 的用户帐户下的路径(例如 /home/arcgis/.esri)。

导出当前配置

如果输入、输出或其他元素(例如 GeoEvent 服务或 GeoEvent 定义)在 GeoEvent Server 中进行配置,则需完成以下步骤导出当前配置,然后继续执行下面几部分中的步骤。

  1. 启动 ArcGIS GeoEvent Manager 并浏览到站点 > GeoEvent > 配置存储
  2. 单击导出配置创建现有配置备份。

    如果已部署自定义组件(连接器或处理器),建议执行下一步将其从 GeoEvent Server 中移除,然后继续执行下一部分。

  3. ArcGIS GeoEvent Server 服务正在运行的情况下,将 deploy 文件夹中的现有 *.jar 文件移至临时目录。

    deploy 文件夹位于 <ArcGIS Server installation directory>\GeoEvent\deploy

更改 Windows 上的位置

  1. 停止 ArcGIS GeoEvent Server 和 ArcGIS GeoEvent Gateway Windows 服务。
  2. 文件资源管理器中,浏览至位于 <ArcGIS Server installation directory>\GeoEvent\gateway\etcetc 文件夹中的 ArcGIS GeoEvent Gateway 配置文件。
  3. 在文本编辑器中打开 kafka.properties 文件并使用适当的值更新 gateway.data.dirlog.dirs 属性值。

    这些属性的默认值如下:

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

    注:

    网关数据目录应指定现有文件夹。 日志目录用于指定重新启动服务时 ArcGIS GeoEvent Gateway 创建的逗号分隔的子文件夹列表。

    注:

    ArcGIS GeoEvent Server 10.8.1 及较早版本指定了单个子文件夹 kafka/logs。 从 10.9 开始,多个部分和主题的配置需要指定三个子文件夹(例如 kafka/logs,kafka/logs1,kafka/logs2)。

  4. 保存并关闭 kafka.properties 文件。
  5. 文件资源管理器中,浏览至 <ArcGIS Server installation directory>\GeoEvent\gateway\etc 目录中 etc 文件夹中的 ArcGIS GeoEvent Gateway 配置文件:
  6. 在文本编辑器中打开 zookeeper.properties 文件并使用适当的值更新 gateway.data.dirdata.dir 属性值。

    这些属性的默认值如下:

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

    注:

    网关数据目录应指定现有文件夹。 数据目录用于指定重新启动服务时 ArcGIS GeoEvent Gateway 创建的配置子文件夹。

  7. 文件资源管理器中,浏览至位于 <ArcGIS Server installation directory>\GeoEvent\datadata 中的文件和文件夹并将其删除。
  8. 重新启动 ArcGIS GeoEvent Gateway Windows 服务。
  9. 等待几分钟,直到 ArcGIS GeoEvent Gateway 开始运行,然后启动 ArcGIS GeoEvent Server Windows 服务。
  10. 启动 ArcGIS GeoEvent Manager 并确认可登录。
  11. 如果已部署自定义组件,可以选择性地将 *.jar 文件移动回位于 <ArcGIS Server installation directory>\GeoEvent\deploydeploy 中。
  12. 如果已导出 GeoEvent Server 配置,可以选择性地浏览至站点 > GeoEvent > 配置存储并单击导入配置以使用 ArcGIS GeoEvent Manager 将其导入。
注:

如果未在指定的网关数据目录下创建新文件和文件夹,在重新启动 ArcGIS GeoEvent Gateway 后,用于运行 ArcGIS GeoEvent Server 和 ArcGIS GeoEvent Gateway 的系统帐户可能会出现权限问题,无法在指定文件夹上读取或写入文件。

更改 Linux 上的位置

  1. 停止 ArcGIS GeoEvent Server 和 ArcGIS GeoEvent Gateway Linux 后台程序。
  2. 浏览至位于 <ArcGIS Server installation directory>\GeoEvent\gateway\etcetc 中的 ArcGIS GeoEvent Gateway 配置文件。
  3. 在文本编辑器中打开 kafka.properties 文件并使用适当的值更新 gateway.data.dirlog.dirs 属性值。

    这些属性的默认值如下:

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

    注:

    网关数据目录应指定现有文件夹。 数据目录用于指定重新启动后台程序时 ArcGIS GeoEvent Gateway 创建的配置子文件夹。

    注:

    ArcGIS GeoEvent Server 10.8.1 及较早版本指定了单个子文件夹 kafka/logs。 从 10.9 开始,多个部分和主题的配置需要指定三个子文件夹(例如 kafka/logs,kafka/logs1,kafka/logs2)。

  4. 保存并关闭 kafka.properties 文件。
  5. 浏览至位于 <ArcGIS Server installation directory>\GeoEvent\gateway\etcetc 文件夹中的 ArcGIS GeoEvent Gateway 配置文件。
  6. 在文本编辑器中打开 zookeeper.properties 文件并使用适当的值更新 gateway.data.dirdata.dir 属性值。

    这些属性的默认值如下:

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

    注:

    网关数据目录应指定现有文件夹。 数据目录用于指定重新启动后台程序时 ArcGIS GeoEvent Gateway 创建的配置子文件夹。

  7. 浏览至位于 /home/arcgis/server > rm -rf GeoEvent/data/*data 文件夹中的文件和文件夹并将其删除。
  8. 重新启动 ArcGIS GeoEvent Gateway 后台程序。
  9. 等待几分钟,直到 ArcGIS GeoEvent Gateway 开始运行,然后启动 ArcGIS GeoEvent Server 后台程序。
  10. 启动 ArcGIS GeoEvent Manager 并确认可登录。
  11. 如果已部署自定义组件,可以选择性地将 *.jar 文件移动回位于 <ArcGIS Server installation directory>\GeoEvent\deploydeploy 文件夹中。
  12. 如果已导出 GeoEvent Server 配置,可以选择性地浏览至站点 > GeoEvent > 配置存储并单击导入配置以使用 ArcGIS GeoEvent Manager 将其导入。
注:

如果未在指定的网关数据目录下创建新文件和文件夹,在重新启动 ArcGIS GeoEvent Gateway 后,用于运行 ArcGIS GeoEvent Server 和 ArcGIS GeoEvent Gateway 的系统帐户可能会出现权限问题,无法在指定文件夹上读取或写入文件。

其他考虑因素

Kafka 磁盘上主题队列和 ZooKeeper 配置文件应在同一数据目录中进行组织。 例如,在 Windows 上,Kafka 磁盘上主题队列的默认目录为 C:\ProgramData\Esri\GeoEvent-Gateway\kafka\logs,ZooKeeper 配置文件的默认目录则为 C:\ProgramData\Esri\GeoEvent-Gateway\zookeeper-dataKafka 和 ZooKeeper 紧密结合,因此应并置其运行时文件。

ArcGIS GeoEvent Server 和 ArcGIS GeoEvent Gateway 服务彼此连续通信。 来自事件记录的数据在进行采集、处理和传播时会流过 Kafka 主题。 ZooKeeper 配置存储会经常更新已配置元素和由 GeoEvent Server 缓存的信息的状态。

ArcGIS GeoEvent Gateway 运行时文件必须在运行 ArcGIS GeoEvent Gateway 服务(在 Windows 上)或等效后台程序(在 Linux 上)的服务器上本地存储。 避免在共享文件夹或 SAN / NAS 的网络上存储文件;否则,会影响性能、解决方案可靠性和稳定性。