“订阅 Kafka 主题以获取 GeoJSON”输入连接器可用于从 Kafka 主题检索和改编格式化为 GeoJSON 的事件数据记录。 有关 Kafka 入门知识的详细信息,请参阅 Apache Kafka 简介。 有关 GeoJSON 数据记录格式示例的详细信息,请参阅 GeoJSON 规范。
用法说明
使用“订阅 Kafka 主题以获取 GeoJSON”输入连接器时,应记住以下事项:
- 使用此输入连接器可以使用 Kafka 主题中的 GeoJSON 数据。 此输入连接器是 Kafka 的用户。
- 此输入连接器将 GeoJSON 入站适配器与 Kafka 入站传输进行配对。
- 和要素 JSON 一样,GeoJSON 是通用 JSON 的子类型。 用于处理这些特定格式的 GeoEvent Server 适配器不同。
- Kafka 入站传输支持 TLS 1.2 和 SASL 安全协议,其使用 Kafka 集群或 broker 进行身份验证。
参数
以下是“订阅 Kafka 主题以获取 GeoJSON”输入连接器的参数:
参数 | 描述 |
---|---|
名称 | 用于在 GeoEvent Manager 中引用的输入连接器的描述性名称。 |
使用自定义 Kafka 属性覆盖 | 指定是否覆盖默认 GeoEvent Server Kafka 客户端属性。 默认为否。
|
Kafka Bootstrap Servers (条件分析) | 用于建立与 hostname:port 集群初始连接的 Kafka 对列表。 Hostname:port 对必须使用逗号分隔,例如broker0.example.com:9092,broker1.example.com:9092,broker2.example.com:9092。 此参数将在使用自定义 Kafka 属性覆盖设置为否时显示。 |
主题名称 | Kafka 主题的名称或 Kafka 主题列表,用于使用感兴趣的数据。 多个主题必须使用分号分隔。
注:在 Kafka 10.8 及更高版本中可以指定多个 ArcGIS GeoEvent Server 主题。 |
用户数量 | 指定每个用户群组的用户数量。 默认用户数量为 1。 注:用户数量受 Kafka 主题的分区数量限制。 有关用户实例的详细信息,请参阅 Apache Kafka 简介。 |
用户群组 ID (条件分析) | 可选字符串,用于唯一标识一组用户的用户群组。 此参数也称为用户群组名称。 如果未指定用户组 ID,GeoEvent Server 会分配一个名为 geoevent-consumer 的静态用户组 ID。 此静态用户组 ID 将在所有未指定用户组 ID 的 Kafka 连接器实例之间共享。 强烈建议您指定自定义用户群组 ID。 有关用户群组的详细信息,请参阅 Apache Kafka 简介。 此参数将在使用自定义 Kafka 属性覆盖设置为否时显示。 |
Kafka 属性文件的已注册文件夹 (条件分析) | 使用 GeoEvent Server 注册的文件夹,其中包含 Kafka .properties 文件。 当使用自定义 Kafka 属性覆盖设置为是时,Kafka .properties 文件将定义自定义 Kafka 属性。 确保使用 GeoEvent Server 注册的文件夹为 Kafka .properties 文件所在位置的完整路径。 此参数将在使用自定义 Kafka 属性覆盖设置为是时显示。 |
Kafka 属性文件名称 (条件分析) | Kafka .properties 文件的名称,该文件包含用于客户端配置的自定义 Kafka 属性。 指定的文件名称不应包含 .properties 扩展名。
此参数将在使用自定义 Kafka 属性覆盖设置为是时显示。 |
从头开始 | 指定是从主题的开始偏移还是从用户的上次偏移开始使用记录。 默认为是。
注:有关偏移的详细信息,请参阅 Apache Kafka 配置。 |
创建 GeoEvent 定义 | 指定是否应将新的或现有的 GeoEvent 定义用于入站事件数据。 GeoEvent Server 需要 GeoEvent 定义,以了解入站事件数据属性字段和数据类型。
|
GeoEvent 定义名称(新) (条件分析) | 分配给新 GeoEvent 定义的名称。 如果已存在具有指定名称的 GeoEvent 定义,则会使用现有的 GeoEvent 定义。 收到的第一个数据记录将用于确定后续数据记录的预期方案,将根据第一个数据记录的方案创建新的 GeoEvent 定义。 此参数在创建 GeoEvent 定义设置为是时显示,设置为否时隐藏。 |
GeoEvent 定义名称(现有) (条件分析) | 在调整接收数据以创建事件数据以供 GeoEvent 服务处理时使用的现有 GeoEvent 定义的名称。 此参数在创建 GeoEvent 定义设置为否时显示,设置为是时隐藏。 |
默认空间参考 | 当从坐标不是假定的 WGS84 地理坐标系的纬度和经度值的属性字段值构造几何时使用的空间参考的熟知 ID (WKID),或接收的不包含空间参考的几何字符串。 还可以指定熟知文本 (WKT) 值或包含 WKID 或 WKT 的属性字段的名称。 |
预期日期格式 | 该模式用于匹配日期/时间值的预期字符串表示形式,并将它们转换为 Java 日期值。 模式的格式遵循 Java SimpleDateFormat 类约定。 而 GeoEvent Server 更偏好以 ISO 8601 标准表示的日期/时间值,通常被识别为日期值的日期/时间值的多个字符串表示可以转换为 Java 日期值,且无需指定预期日期格式模式。 其中包括:
如果收到的日期/时间值使用并非上述五种之一的约定表示,则必须指定一个预期日期格式模式以便 GeoEvent Server 了解如何调整日期/时间值。 |
需要身份验证 | 指示连接到 Kafka 集群(或 Kafka broker)是否需要身份验证。 默认为否。
|
身份验证方式 (条件分析) | 指定用于保护 Kafka 集群的安全协议。 可用安全协议包括 TLS 1.2 和 SASL。
注:在使用 Kerberos 时,请确保运行 ArcGIS GeoEvent Server 的操作系统用户账户具有 Kerberos 设置和配置中密钥表文件的读取权限。 此参数在需要身份验证设置为是时显示。 |
凭据文件的已注册文件夹 (条件分析) | 使用 GeoEvent Server 注册的文件夹中包含 Kafka 集群的 PKI 文件(x509 证书)。 确保使用 GeoEvent Server 注册的文件夹为 Kafka 集群证书所在位置的完整路径。 此参数在需要身份验证设置为是时显示。 此参数仅适用于 TLS 1.2。 |
凭据配置文件 (条件分析) | Kafka 集群 PKI 文件的名称(x509 证书)。 必须以 PKCS#12 格式存储此证书及其关联私钥,表示为具有 .p12 或 .pfx 扩展名的文件。 请输入文件名和扩展名。
注:此参数仅支持证书文件名称和扩展名。 证书的相对路径不应在此参数中指定。 使用凭据文件的已注册文件夹参数注册证书文件的完整路径。 此参数在需要身份验证设置为是时显示。 此参数仅适用于 TLS 1.2。 |
Keystore 密码 (条件分析) | Kafka 集群 PKI 文件的密码(x509 证书)。 也称为证书的私钥。 此参数在需要身份验证设置为是时显示。 此参数仅适用于 TLS 1.2。 |
SASL 身份验证类型 (条件分析) | 指定 Kafka 集群支持的 SASL 身份验证机制类型。 可用 SASL 身份验证类型包括 SASL GSSAPI (Kerberos) 和 SASL PLAIN。
此参数在需要身份验证设置为是时显示。 此参数仅适用于 SASL。 |
Kerberos 主体 (条件分析) | 特定用户的 kerberos 主体,例如 GeoEventKafkaClient1@example.com。 此参数在需要身份验证设置为是时显示。 此参数仅适用于 SASL/GSSAPI (Kerberos)。 |
使用密钥表 (条件分析) | 指示是否在 Kerberos 设置中使用密钥表。 默认为是。
此参数在需要身份验证设置为是时显示。 此参数仅适用于 SASL/GSSAPI (Kerberos)。 |
存储密钥 (条件分析) | 指示是否在 Kerberos 设置中存储密钥。 默认为是。
此参数在需要身份验证设置为是时显示。 此参数仅适用于 SASL/GSSAPI (Kerberos)。 |
用户名 (条件分析) | 指定用于使用 Kafka 集群进行身份验证的用户名。 也称为与某些云提供商的连接字符串。 有关正确的语法,请参阅所选云提供商的文档。 此参数在需要身份验证设置为是时显示。 此参数仅适用于 SASL/PLAIN。 |
密码 (条件分析) | 指定用于使用 Kafka 集群进行身份验证的密码。 有关正确的语法,请参阅所选云提供商的文档。 此参数在需要身份验证设置为是时显示。 此参数仅适用于 SASL/PLAIN。 |
注意事项和限制
使用“订阅 Kafka 主题以获取 GeoJSON”输入连接器时,需要牢记几点注意事项:
- 对用户的管理和优化不足会导致“订阅 Kafka 主题以获取 GeoJSON”输入连接器的某些实例无法检索数据。 用户组中的用户数量受到 Kafka 主题分区数量的限制。 如果用户组中的用户数量超过 Kafka 主题的可用分区数量,则超出的用户将无法使用数据。 为避免发生上述情况,需考虑对用户数量进行优化,使其最好与 Kafka 主题的分区数量保持一致,或者为每个连接器实施不同的用户组。 有关用户和用户组的详细信息,请参阅 Kafka 文档。
- “订阅 Kafka 主题以获取 GeoJSON”输入连接器是 Kafka 的客户端用户。 此输入连接器适用的注意事项与 Kafka 的任何其他客户端用户的注意事项相同。 例如,如果此输入连接器未从 Kafka 主题接收数据,但是 Kafka 的独立客户端用户从中接收数据,则需考虑拥有两个客户端用户所涉及的因素。 这包括但不限于配置的用户组 ID、主题上可用的分区数量以及现有用户的数量。 或者,如果输入连接器快速连续地停止或启动,请从用户角度考虑对 Kafka 产生的影响。 重新平衡 Kafka 主题的分区可能会使输入连接器无法立即作为同一用户组下的用户重新加入。