专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

debezium/connect Docker 镜像 - 轩辕镜像

connect
debezium/connect
自动构建
包含所有Debezium连接器的Kafka Connect镜像,是Debezium平台的一部分。
112 收藏0 次下载
🚀 稳定镜像源 = 更少宕机 + 更低运维成本
中文简介版本下载
🚀 稳定镜像源 = 更少宕机 + 更低运维成本

此仓库已迁移至 quay.io/debezium/connect。

Kafka Connect 是一个用于将数据移入和移出Kafka的系统。所有Debezium连接器均遵循Kafka Connector API的_源连接器_规范,每个连接器监控特定类型的数据库管理系统的变更数据,然后将这些变更直接转发到按服务器、数据库和表组织的Kafka主题中。此镜像定义了一个可运行的Kafka Connect服务,预配置了所有Debezium连接器。该服务提供RESTful API用于管理连接器实例——只需启动容器,为每个要监控的数据源配置连接器,Debezium就会监控这些数据源的变更并将其转发到相应的Kafka主题。

什么是Debezium?

Debezium是一个分布式平台,可将现有数据库转换为事件流,使应用程序能够快速响应数据库中的每一行级变更。Debezium构建于Kafka之上,并提供与Kafka Connect兼容的连接器,用于监控特定的数据库管理系统。Debezium将数据变更历史记录在Kafka日志中,因此应用程序可以随时停止和重启,并轻松消费其未运行期间错过的所有事件,确保所有事件都能被正确且完整地处理。

运行Debezium需要Zookeeper、Kafka以及运行Debezium连接器的服务。对于简单的评估和实验,所有服务都可以在单个主机上运行,使用下面概述的方案。然而,生产环境需要正确运行和联网多个服务实例,以提供性能、可靠性、复制和容错能力。这可以通过OpenShift等平台实现,该平台管理在多个主机和机器上运行的多个Docker容器。建议使用Kubernetes operator(如Strimzi,其提供Kafka、Kafka Connect、连接器等的operator和CRD)进行此类部署。

如何使用此镜像

此镜像可通过多种方式使用。所有方式都需要已运行的Zookeeper服务,该服务要么通过名为zookeeper的容器在本地运行,要么在OpenShift中作为名为zookeeper的服务运行。还需要已运行的Kafka broker,要么通过名为kafka的容器在本地运行,要么在OpenShift中作为名为kafka的服务运行。

启动Kafka Connect服务实例

当运行一个或多个Kafka Connect服务实例的集群时,必须使用环境变量定义几个重要参数。请参见下面的部分,了解这些必需环境变量及其可接受值的列表。

使用此镜像启动Kafka Connect实例非常简单:

$ docker run -it --name connect -p 8083:8083 -e GROUP_ID=1 -e CONFIG_STORAGE_TOPIC=my-connect-configs -e OFFSET_STORAGE_TOPIC=my-connect-offsets -e ADVERTISED_HOST_NAME=$(echo $DOCKER_HOST | cut -f3  -d'/' | cut -f1 -d':') --link zookeeper:zookeeper --link kafka:kafka debezium/connect

此命令使用此镜像并启动一个名为connect的新容器,该容器在前台运行并附加控制台,以显示服务的输出和错误消息。它在8083端口上公开其REST API,并映射到本地主机上的相同端口号。它使用名为zookeeper的容器(或服务)中的Zookeeper和名为kafka的容器(或服务)中的Kafka broker。此命令设置了三个必需的环境变量,但您应将其值替换为适合您环境的更有意义的值。

要以_分离_模式启动容器,只需将-it选项替换为-d。服务输出不会发送到控制台,但可以随时使用docker logs命令查看。例如,以下命令将显示输出并持续跟踪输出:

$ docker logs --follow --name connect

在运行的容器中启动shell

如果您已经运行了带有Kafka Connect服务的容器,可以使用此镜像连接到该容器并获取命令行shell:

$ docker exec -it connect bash

其中connect是现有容器的名称。shell将设置所有环境变量,与在容器中启动服务时完全相同。因此,可以指定到其他容器的链接和其他环境变量,这些都将反映在shell的导出变量中。

环境变量

使用此镜像运行Kafka broker时,Debezium Kafka镜像使用多个环境变量。另请参见Kafka Connect的文档以了解更多特定设置。

GROUP_ID

运行Kafka Connect服务时需要此环境变量。将其设置为唯一标识该服务及其工作节点所属的Kafka Connect集群的ID。

CONFIG_STORAGE_TOPIC

运行Kafka Connect服务时需要此环境变量。将其设置为Kafka主题的名称,组中的Kafka Connect服务在该主题中存储连接器配置。该主题必须有单个分区并高度复制(例如3倍或更多)。

OFFSET_STORAGE_TOPIC

运行Kafka Connect服务时需要此环境变量。将其设置为Kafka主题的名称,组中的Kafka Connect服务在该主题中存储连接器偏移量。该主题必须有大量分区(例如25或50),高度复制(例如3倍或更多),并应配置为压缩。

BOOTSTRAP_SERVERS

此环境变量是高级设置,仅当Kafka未在可链接的容器或服务中运行时使用。将其设置为用于建立与Kafka集群的初始连接的主机/端口对列表。一旦与这些broker之一建立连接,服务将发现并使用集群中的所有Kafka broker,无论此处为引导指定了哪些服务器。列表的格式应为host1:port1,host2:port2,...。建议在此列表中包含多个broker,以防其中一个不可用。

HOST_NAME

此环境变量是高级设置。将其设置为REST API将绑定的主机名。默认为容器的主机名。

ADVERTISED_HOST_NAME

此环境变量是高级设置。将其设置为提供给其他工作节点连接的主机名。默认为容器的主机名。

ADVERTISED_PORT

此环境变量是高级设置。将其设置为提供给其他工作节点连接的端口。

KEY_CONVERTER

此环境变量是高级设置。将其设置为实现Kafka Connect的Converter类的Java类的完全限定名,用于将连接器的键转换为存储在Kafka中的形式。默认为org.apache.kafka.connect.json.JsonConverter。

VALUE_CONVERTER

此环境变量是高级设置。将其设置为实现Kafka Connect的Converter类的Java类的完全限定名,用于将连接器的值转换为存储在Kafka中的形式。默认为org.apache.kafka.connect.json.JsonConverter。

INTERNAL_KEY_CONVERTER

此环境变量是高级设置。将其设置为实现Kafka Connect的Converter类的Java类的完全限定名,用于将连接器偏移量和配置键转换为存储在Kafka中的形式。默认为org.apache.kafka.connect.json.JsonConverter。

INTERNAL_VALUE_CONVERTER

此环境变量是高级设置。将其设置为实现Kafka Connect的Converter类的Java类的完全限定名,用于将连接器偏移量和配置值转换为存储在Kafka中的形式。默认为org.apache.kafka.connect.json.JsonConverter。

OFFSET_FLUSH_INTERVAL_MS

此环境变量是高级设置。将其设置为服务定期尝试提交任务偏移量的时间间隔(以毫秒为单位)。默认值为60000,即60秒。

OFFSET_FLUSH_TIMEOUT_MS

此环境变量是高级设置。将其设置为等待记录刷新和分区偏移量数据提交到偏移量存储的最大时间(以毫秒为单位),超时后将取消该过程并在未来尝试中恢复要提交的偏移量数据。默认值为5000,即5秒。

SHUTDOWN_TIMEOUT

此环境变量是高级设置。将其设置为等待任务优雅关闭的时间(以毫秒为单位),期间连接器完成所有处理、记录任何最终数据并清理资源。这是总时间,不是每个任务的时间。所有任务都会触发关闭,然后按顺序等待它们。默认值为***,即10秒。

HEAP_OPTS

此环境变量是推荐的。使用此设置Kafka Connect的JVM选项。默认值为“-Xms256M -Xmx2G”,意味着每个Connect工作节点最多使用2GB堆内存。内存太少可能导致性能问题,而太多可能会因机器可用内存不足而阻止工作节点正常启动。显然,容器必须能够使用此环境变量定义的内存量。

LOG_LEVEL

此环境变量是可选的。使用此设置Kafka应用程序日志写入STDOUT和STDERR的详细级别。有效值为INFO(默认)、WARN、ERROR、DEBUG或TRACE。

ENABLE_APICURIO_CONVERTERS

此环境变量是可选的。通过将ENABLE_APICURIO_CONVERTERS=true设置为容器环境变量,可使用此启用带有Apicurio Schema Registry的Apicur.io转换器。有效值为false(禁用,默认)或true(启用Apicurio转换器)。

ENABLE_DEBEZIUM_SCRIPTING

此环境变量是可选的。通过将ENABLE_DEBEZIUM_SCRIPTING=true设置为容器环境变量,可使用此启用Debezium中使用脚本语言的功能(如消息过滤或基于内容的路由SMT)。有效值为false(禁用,默认)或true(启用脚本)。注意:为防止执行任意脚本表达式,仅当已适当保护对Kafka Connect配置接口的访问时,才应启用此选项。

其他

以CONNECT_开头的环境变量将用于更新Kafka Connect工作节点配置文件。每个环境变量名将通过以下方式映射到配置属性名:

  1. 移除CONNECT_前缀;
  2. 所有字符小写;
  3. 将所有'_'字符转换为'.'字符

例如,环境变量CONNECT__HEARTBEAT_INTERVAL_MS转换为heartbeat.interval.ms属性。容器随后将更新Kafka Connect工作节点配置文件以包含该属性的名称和值。

环境变量的值不得包含'@'字符。

端口

使用此镜像创建的容器将暴露8083端口,这是Kafka Connect服务绑定的标准端口。您可以使用标准Docker选项将其映射到运行容器的主机上的不同端口。

存储数据

此镜像运行的Kafka Connect服务不在容器中存储数据,但会生成日志。保留这些文件的唯一方法是使用卷将容器内的特定目录映射到本地文件系统(或OpenShift持久卷)。

日志文件

尽管此镜像会将Kafka Connect服务日志输出发送到标准输出,以便作为Docker日志可见,但此镜像还配置Kafka Connect服务将更多日志写入/kafka/logs的数据卷。所有日志每天轮换。

配置

此镜像在/kafka/config定义了一个数据卷,其中存储broker的配置文件。请注意,这些配置文件始终会根据环境变量和链接的容器进行修改。此数据卷的最佳用途是能够查看Kafka使用的配置文件,尽管通过一些注意事项,也可以提供在启动时将被调整和使用的自定义配置文件。

Oracle连接器

如果要使用Oracle连接器,必须添加由于许可限制未包含在镜像中的依赖项。在这种情况下,您应创建一个从此镜像派生的新镜像,并内置Oracle Instant Client JAR文件。

相关文件可从Oracle Instant Client for Linux获取。请参考示例了解生成的镜像应如何构建。

查看更多 connect 相关镜像 →
nextgenhealthcare/connect logo
nextgenhealthcare/connect
医疗集成的瑞士军刀,NextGen/Mirth Connect的官方Docker镜像,提供专注于医疗领域的开源消息集成引擎部署方案。
5910M+ pulls
上次更新:未知
redpandadata/connect logo
redpandadata/connect
暂无描述
3100K+ pulls
上次更新:未知
rcsworks/connect logo
rcsworks/connect
Connect实现RCS Cloud与私有网络中设备之间的通信
10K+ pulls
上次更新:未知
zsiera/connect logo
zsiera/connect
暂无描述
10K+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
debezium/connect
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.