
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Redpanda Connectors 是 Redpanda 生态系统中的核心数据集成组件,旨在提供 Redpanda 与外部数据系统之间的高效数据流动能力。通过预定义的连接器(Connectors),用户可轻松实现 Redpanda 主题(Topics)与各类外部数据源/目标系统(如数据库、消息队列、存储服务、API 等)之间的双向数据同步,无需编写自定义集成代码,从而简化数据管道构建流程,加速企业级数据集成架构的落地。
支持主流数据系统协议与接口,包括但不限于:
4.2.1 Docker 独立部署(docker run)
通过 docker run 命令直接启动 Redpanda Connectors 容器,适用于快速测试或单节点部署。
步骤 1:准备配置文件
创建连接器配置文件(如 connector-config.yaml),示例如下(以 MySQL 源连接器为例):
yamlname: mysql-source-connector connector.class: io.confluent.connect.jdbc.JdbcSourceConnector connection.url: jdbc:mysql://mysql:3306/mydb?user=root&password=secret mode: incrementing incrementing.column.name: id topic.prefix: mysql- tasks.max: 1
步骤 2:启动容器
bashdocker run -d \ --name redpanda-connector \ --network redpanda-network \ # 与 Redpanda 集群同一网络 -v $(pwd)/connector-config.yaml:/etc/redpanda-connectors/config.yaml \ # 挂载配置文件 -e REDPANDA_BROKERS=redpanda-1:9092,redpanda-2:9092 \ # Redpanda brokers 地址 -e CONNECTOR_TYPE=source \ # 连接器类型:source(源)/sink(汇) -e CONFIG_FILE=/etc/redpanda-connectors/config.yaml \ # 配置文件路径 -p 8083:8083 \ # 连接器 REST API 端口(用于监控与管理) redpandadata/connectors:latest # 镜像名称(需替换为实际版本,如 v23.1.5)
4.2.2 Docker Compose 部署
通过 Docker Compose 定义多服务部署,适用于开发、测试或生产环境(含依赖组件)。
步骤 1:创建 docker-compose.yml
yamlversion: '3.8' networks: redpanda-net: driver: bridge services: # Redpanda 集群(单节点,仅用于测试) redpanda: image: redpandadata/redpanda:v23.1.5 command: redpanda start --overprovisioned --smp 1 --memory 1G --reserve-memory 512M --node-id 0 --check=false ports: - "9092:9092" # Kafka API - "9644:9644" # Admin API networks: - redpanda-net volumes: - redpanda-data:/var/lib/redpanda/data # Redpanda Connectors 服务(MySQL 源连接器示例) redpanda-connector: image: redpandadata/connectors:latest depends_on: - redpanda - mysql # 外部数据源(MySQL) environment: - REDPANDA_BROKERS=redpanda:9092 - CONNECTOR_TYPE=source - CONFIG_FILE=/etc/redpanda-connectors/config.yaml - LOG_LEVEL=info # 日志级别:debug/info/warn/error volumes: - ./connector-config.yaml:/etc/redpanda-connectors/config.yaml # 挂载本地配置文件 ports: - "8083:8083" # 连接器 REST API 端口 networks: - redpanda-net # 外部数据源示例(MySQL) mysql: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=mydb ports: - "3306:3306" networks: - redpanda-net volumes: - mysql-data:/var/lib/mysql volumes: redpanda-data: mysql-data:
步骤 2:启动服务
bashdocker-compose up -d
4.3.1 环境变量配置
Redpanda Connectors 支持通过环境变量定义全局配置,常用参数如下:
| 参数名 | 描述 | 示例值 | 是否必填 |
|---|---|---|---|
REDPANDA_BROKERS | Redpanda brokers 地址列表(逗号分隔) | redpanda-1:9092,redpanda-2:9092 | 是 |
CONNECTOR_TYPE | 连接器类型:source(源连接器,从外部系统读数据)或 sink(汇连接器,向外部系统写数据) | source | 是 |
CONNECTOR_NAME | 连接器名称(需唯一,用于标识与管理) | mysql-users-source | 是 |
CONFIG_FILE | 连接器详细配置文件路径(容器内路径) | /etc/redpanda-connectors/config.yaml | 是 |
LOG_LEVEL | 日志级别 | info(默认)/debug/warn/error | 否 |
OFFSET_STORAGE_TOPIC | 用于存储连接器偏移量的 Redpanda 主题名称(源连接器必填) | connect-offsets | 源连接器必填 |
STATUS_STORAGE_TOPIC | 用于存储连接器状态的 Redpanda 主题名称 | connect-status | 否 |
KEY_CONVERTER | 键(Key)序列化器类名(如 JSON、Avro) | org.apache.kafka.connect.json.JsonConverter | 否 |
VALUE_CONVERTER | 值(Value)序列化器类名 | org.apache.kafka.connect.json.JsonConverter | 否 |
4.3.2 连接器配置文件
连接器的具体行为通过配置文件(如 config.yaml)定义,不同类型连接器配置差异较大,以下为 MySQL 源连接器示例:
yaml# 连接器基础信息 name: mysql-source-connector # 需与环境变量 CONNECTOR_NAME 一致 connector.class: io.confluent.connect.jdbc.JdbcSourceConnector # 连接器实现类(需匹配连接器类型) tasks.max: 2 # 并行任务数(根据数据量调整) # 数据库连接配置 connection.url: jdbc:mysql://mysql:3306/mydb?user=root&password=secret # MySQL 连接 URL connection.user: root # 数据库用户名(也可在 URL 中指定) connection.password: secret # 数据库密码(也可在 URL 中指定) # 数据同步配置 mode: incrementing # 同步模式:incrementing(自增 ID)、timestamp(时间戳)、bulk(全量) incrementing.column.name: id # 自增列名(mode=incrementing 时必填) table.whitelist: users,orders # 同步的表名(逗号分隔,默认同步所有表) topic.prefix: mysql- # Redpanda 主题前缀(最终主题名为 ${topic.prefix}${table_name}) # 轮询配置 poll.interval.ms: 5000 # 数据轮询间隔(毫秒,默认 5000) batch.max.rows: 1000 # 每批同步最大行数(默认 1000) # 序列化配置(如不通过环境变量指定,可在此定义) key.converter: org.apache.kafka.connect.json.JsonConverter value.converter: org.apache.kafka.connect.json.JsonConverter key.converter.schemas.enable: false # 是否启用键的 Schema 信息 value.converter.schemas.enable: false # 是否启用值的 Schema 信息
4.4.1 检查容器状态
bashdocker ps | grep redpanda-connector # 独立部署 # 或 docker-compose ps # Compose 部署
4.4.2 验证连接器状态
通过连接器 REST API 查看状态:
bashcurl http://localhost:8083/connectors/mysql-source-connector/status
预期返回 status: "RUNNING",表示连接器正常运行。
4.4.3 验证数据流动
bashdocker exec -it $(docker ps -q --filter name=mysql) mysql -uroot -psecret -e "INSERT INTO mydb.users (id, name) VALUES (1, 'test');"
bash# 进入 Redpanda 容器 docker exec -it $(docker ps -q --filter name=redpanda) rpk topic consume mysql-users
预期输出包含插入的测试数据。
4.5.1 查看连接器列表
bashcurl http://localhost:8083/connectors
4.5.2 暂停/恢复连接器
bash# 暂停 curl -X PUT http://localhost:8083/connectors/mysql-source-connector/pause # 恢复 curl -X PUT http://localhost:8083/connectors/mysql-source-connector/resume
4.5.3 更新连接器配置
bashcurl -X PUT -H "Content-Type: application/json" http://localhost:8083/connectors/mysql-source-connector/config \ -d '{"connector.class":"io.confluent.connect.jdbc.JdbcSourceConnector", "tasks.max":3, ...}' # 新配置
4.5.4 删除连接器
bashcurl -X DELETE http://localhost:8083/connectors/mysql-source-connector
4.5.5 查看日志
bashdocker logs -f redpanda-connector # 独立部署 # 或 docker-compose logs -f redpanda-connector # Compose 部署
root)对文件有读权限,避免因权限不足导致配置加载失败。--network 指定),或配置端口映射与路由规则。--memory、--cpus),避免因资源不足导致同步延迟或任务失败。REDPANDA_BROKERS 指定 sasl_ssl:// 地址),并加密外部系统连接(如 MySQL SSL、S3 HTTPS)。OFFSET_STORAGE_TOPIC),以便故障恢复时快速重建连接器。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。




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