连接器已知问题
edit连接器已知问题
edit企业搜索服务:自管理连接器
edit自8.10.0版本起,自管理连接器不再需要在您的Elastic部署上运行企业搜索服务。 然而,如果您是从早于8.9的版本升级连接器,您需要运行一次企业搜索以将您的连接器迁移到新格式。
关于此次迁移的一些注意事项:
- 这涉及更新存储配置和连接器同步历史的系统索引。
- 这是一个就地操作,意味着不会创建临时或备份索引。
- 因此,在升级之前对Elasticsearch集群进行快照是很重要的——以防万一发生索引迁移失败的情况。
如果您在迁移过程中遇到问题,请联系支持。
要运行自管理的连接器,您自部署的连接器服务版本必须与您的Elasticsearch版本匹配。 例如,如果您正在运行Elasticsearch 8.10.1,您的连接器服务应为版本8.10.1.x。 Elastic不支持运行版本不匹配的部署(升级期间除外)。
连接器服务
edit连接器服务存在以下已知问题:
-
同步大型数据库表时的OOM错误
初始同步后的同步可能会在同步大型数据库表时导致内存不足(OOM)错误。 这是因为数据库连接器会加载并存储ID在内存中。 对于包含数百万条记录的表,如果连接器服务没有足够的RAM,这可能会导致内存耗尽。
为了缓解这个问题,你可以:
-
增加内存分配:
- Elastic Cloud: 升级企业搜索实例到更大的规模。请注意,对于在Elastic Cloud上运行的Elastic托管连接器,连接器服务运行在企业搜索节点上。它只能访问最多40%的节点RAM分配。
-
自托管: 增加运行连接器服务的机器/容器的RAM分配。
RAM sizing guidelines
下表显示了将ID加载到内存中的估计RAM使用量。
ID 数量
内存使用量(MB,2倍缓冲)
1,000,000
≈ 45.78 MB
10,000,000
≈ 457.76 MB
50,000,000
≈ 2288.82 MB (≈ 2.29 GB)
100,000,000
≈ 4577.64 MB (≈ 4.58 GB)
-
优化 同步规则:
- 审查并优化同步规则,以在同步之前过滤和减少从源获取的数据。
-
使用自管理连接器而不是托管连接器:
- 因为自管理连接器运行在你的基础设施上,它们不受企业搜索节点相同RAM限制的约束。
-
-
从运行在8.9.0之前版本的部署升级可能会导致同步作业失败
由于一个错误,从运行在8.9.0之前版本的部署升级后,
job_type字段映射将会丢失。 同步作业将不会显示在Kibana UI(作业历史记录)中,并且连接器服务将无法启动新的同步作业。 这仅会在你之前已安排同步作业的情况下发生。要解决此问题,您可以使用以下命令手动添加缺失的字段并触发同步作业:
PUT .elastic-connectors-sync-jobs-v1/_mapping { "properties": { "job_type": { "type": "keyword" } } } -
当连接器尝试从数据源获取超过2,147,483,647(2^31-1)个文档时,连接器服务将无法同步
一种解决方法是通过多个搜索索引手动分区要同步的数据。
-
从8.6或更早版本升级时,自定义调度可能会中断。
如果你遇到错误
'custom_schedule_triggered': undefined method 'each' for nil:NilClass (NoMethodError),这意味着自定义调度功能迁移失败。 你可以使用以下手动解决方法:POST /.elastic-connectors/_update/connector-id { "doc": { "custom_scheduling": {} } }此错误可能出现在并非问题原因的连接器或爬网程序上。如果错误持续存在,请尝试为
.elastic-connectors索引中的每个文档运行上述命令。 -
从8.7或更早版本升级的连接器可能会缺少配置字段
在8.8之前创建的连接器有时可能会缺少配置字段。 这是MySQL连接器的一个已知问题,但也可能影响其他连接器。
如果自管理连接器引发错误
连接器,您可以通过开发工具手动添加缺少的配置字段来解决此错误。 只有以下两个字段属性是必需的,因为其余部分将由自管理连接器自动填充:缺少配置字段: , ... -
type: one ofstr,int,bool, orlist -
value: 任何值,只要它是正确的type(list类型的值应保存为逗号分隔的字符串)POST /.elastic-connectors/_update/connector_id { "doc" : { "configuration": { "field_a": { "type": "str", "value": "" }, "field_b": { "type": "bool", "value": false }, "field_c": { "type": "int", "value": 1 }, "field_d": { "type": "list", "value": "a,b" } } } }
-
-
从8.7.1升级的Python连接器将以千兆字节(GB)而不是兆字节(MB)报告文档容量
因此,实际文档体积将被低估1024倍。
-
以下Elastic管理的连接器在Elastic Cloud 8.9.0上将无法正常运行。 它们仍然可以作为自管理的连接器使用。
- Azure Blob Storage
- Confluence Cloud & Server
- Jira Cloud & Server
- Network drives
单个连接器的已知问题
edit各个连接器可能会有额外的已知问题。 请参阅每个连接器的参考文档以了解连接器特定的已知问题。