配置Airbyte资源限制

资源限制有三种不同的级别配置:

Instance-wide - 应用到Airbyte实例创建的Sync Job的所有容器上。

Connector-specific - 应用到Airbyte实例创建的Sync Job的所有指定类型连接器的容器上

Connection-specific - 应用到Airbyte实例创建的Sync Job的所有指定管道的容器上

按优先级递减顺序:

Connection-specific - 最高优先级。一旦指定特定管道的配置,则忽略所有其他配置。

Connector-specific - 第二高的优先级。一旦指定特定连接类型的配置,忽略实例级的配置。

Instance-wide - 最低优先级。旨在成为默认设置。没有管道和连接器类型配置情况下生效。

配置 INSTANCE-WIDE 资源限制

Instance-wide 资源限制是最简单的资源限制配置。所有的配置都只需要修改以下环境变量:

JOB_MAIN_CONTAINER_CPU_REQUEST - 定义job容器的最低 CPU 数量。单位遵循 Docker 或 Kubernetes,具体取决于部署。默认为空。

JOB_MAIN_CONTAINER_CPU_LIMIT - 定义job容器的最大 CPU 数量。单位遵循 Docker 或 Kubernetes,具体取决于部署。默认为空。

JOB_MAIN_CONTAINER_MEMORY_REQUEST - 定义job容器的最小 RAM 使用量。单位遵循 Docker 或 Kubernetes,具体取决于部署。默认为空。

JOB_MAIN_CONTAINER_MEMORY_LIMIT - 定义job容器的最大 RAM 使用量。单位遵循 Docker 或 Kubernetes,具体取决于部署。默认为空。

配置 CONNECTOR-SPECIFIC 资源限制

连接到 Airbyte 工作数据库并且执行以下 query(注意需要将 image-name 替换为你想要配置资源限制的连接器类型 )

select * from actor_definition where actor_definition.docker_repository like '%<image-name>';

替换 id-from-step-1 为上一步查询中获取到id,然后替换资源限制的值为想要限制的值,然后执行query

update actor_definition set resource_requirements = '{"jobSpecific": [{"jobType": "sync", "resourceRequirements": {"cpu_limit": "0.5", "cpu_request": "0.5", "memory_limit": "500Mi", "memory_request": "500Mi"}}]}' where id = '<id-from-step-1>';

配置 CONNECTION-SPECIFIC 资源限制

登录到 Airbyte Web 中,点击对应连接(管道)并从 url 中提取连接(管道) ID。

url的格式是http://<airbyte-server-ip:port>/workspace/<workspace-di>/connections/<connection-id>/status。如果您连接(管道)的url是http://localhost:8000/workspaces/92ad8c0e-d204-4bb4-9c9e-30fe25614eee/connections/5432b428-b04a-4562-a12b-21c7b9e8b63a/status,那么连接(管道) id 就是5432b428-b04a-4562-a12b-21c7b9e8b63a`

连接到 Airbyte 工作数据库并且执行以下 query(注意需要将 id-from-step-1 替换您上一步获取的连接(管道)id,并将资源限制修改给您想要限制的值)

update connection set resource_requirements = '{"cpu_limit": "0.5", "cpu_request": "0.5", "memory_limit": "500Mi", "memory_request": "500Mi"}' where id = '<id-from-step-1>';

DEBUGGING CONNECTION 资源限制

Airbyte 在创建容器时将资源需求记录为job log的一部分。源容器和目标容器的资源配置记录都将被log记录。

如果 job 容器的内存不足,只需登录到 Airbyte Web 中的 job 页面,检查日志查看 job 的资源配置是否符合预期,如果确实给的资源不足,可以根据上面的步骤修改资源限制配置。

Docker部署环境,日志显示示例:

Creating docker container = destination-e2e-test-write-39-0-vnqtl with resources io.airbyte.config.ResourceRequirements@1d86d7c9[cpuRequest=<null>,cpuLimit=<null>,memoryRequest=200Mi,memoryLimit=200Mi]

K8S部署环境,日志显示示例:

2022-08-12 01:22:20 INFO i.a.w.p.KubeProcessFactory(create):100 - Attempting to start pod 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值