Skip To Content

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

Kafka 和 ZooKeeper 数据文件的位置

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

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

ArcGIS GeoEvent Server 安装到驱动器或非默认文件路径时,GeoEvent Gateway 仍将上面的默认文件夹用于 Kafka 和 ZooKeeper 文件。 这会在组织标准实践为限制 C 盘上的可用磁盘而不是在另一个驱动器上安装软件等情况下带来一个问题。 如果是这样,可能需要将 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 ServerArcGIS GeoEvent Gateway Windows 服务。
  2. 文件资源管理器中,导航至以下目录位置中 etc 文件夹中的 GeoEvent Gateway 配置文件:

    <ArcGIS Server installation directory>\GeoEvent\gateway\etc

  3. 在文本编辑器中打开 kafka.properties 文件,然后使用自己的值更新 gateway.data.dirlog.dirs 属性值。

    这些属性的默认值如下:

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

    注:

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

    注:

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

  4. 保存并关闭 kafka.properties 文件。
  5. 文件资源管理器中,导航至以下目录位置中 etc 文件夹中的 GeoEvent Gateway 配置文件:

    <ArcGIS Server installation directory>\GeoEvent\gateway\etc

  6. 在文本编辑器中打开 zookeeper.properties 文件,然后使用自己的值更新 gateway.data.dirdata.dir 属性值。

    这些属性的默认值如下:

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

    注:

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

  7. 文件资源管理器中,导航至并删除位于以下位置的 data 文件夹中的文件和文件夹:

    <ArcGIS Server installation directory>\GeoEvent\data

  8. 重新启动 ArcGIS GeoEvent Gateway Windows 服务。
  9. 等待几分钟,直到 ArcGIS GeoEvent Gateway 开始运行,然后启动 ArcGIS GeoEvent Server Windows 服务。
  10. 打开 ArcGIS GeoEvent Manager 并确认可登录。
  11. (可选)如果之前已部署自定义组件,将 *.jar 文件移动回位于以下位置的 deploy 文件夹:

    <ArcGIS Server installation directory>\GeoEvent\deploy

  12. (可选)如果之前已导入 GeoEvent Server 配置,通过导航至站点 > GeoEvent > 配置存储将其导入 ArcGIS GeoEvent Manager,然后单击导入配置导入配置。
注:

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

Linux 上更改位置

  1. 停止 ArcGIS GeoEvent ServerArcGIS GeoEvent Gateway Linux 后台程序。
  2. 导航至以下目录位置中 etc 文件夹中的 GeoEvent Gateway 配置文件:

    <ArcGIS Server installation directory>\GeoEvent\gateway\etc

  3. 在文本编辑器中打开 kafka.properties 文件,然后使用自己的值更新 gateway.data.dirlog.dirs 属性值。

    这些属性的默认值如下:

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

    注:

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

    注:

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

  4. 保存并关闭 kafka.properties 文件。
  5. 导航至以下目录位置中 etc 文件夹中的 GeoEvent Gateway 配置文件:

    <ArcGIS Server installation directory>\GeoEvent\gateway\etc

  6. 在文本编辑器中打开 zookeeper.properties 文件,然后使用自己的值更新 gateway.data.dirdata.dir 属性值。

    这些属性的默认值如下:

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

    注:

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

  7. 导航至并删除位于以下位置的 data 文件夹中的文件和文件夹:

    /home/arcgis/server > rm -rf GeoEvent/data/*

  8. 重新启动 ArcGIS GeoEvent Gateway 后台程序。
  9. 等待几分钟,直到 ArcGIS GeoEvent Gateway 开始运行,然后启动 ArcGIS GeoEvent Server 后台程序。
  10. 打开 ArcGIS GeoEvent Manager 并确认可登录。
  11. (可选)如果之前已部署自定义组件,将 *.jar 文件移动回位于以下位置的 deploy 文件夹:

    <ArcGIS Server installation directory>\GeoEvent\deploy

  12. (可选)如果之前已导入 GeoEvent Server 配置,通过导航至站点 > GeoEvent > 配置存储使用 ArcGIS GeoEvent Manager 导入,然后单击导入配置导入配置。
注:

如果未在指定的网关数据目录下创建新文件和文件夹,在重新启动 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 缓存的信息的状态。

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