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

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

官方QQ群: 1072982923

etf1/kafka-mongo-watcher Docker 镜像 - 轩辕镜像

kafka-mongo-watcher
etf1/kafka-mongo-watcher
etf1
监听MongoDB集合的oplog事件(插入、更新、删除等)并将其推送到指定Kafka主题,同时支持重播模式以首次初始化集合所有文档到Kafka的工具
0 次下载
😅 镜像要是出问题,背锅的一定是你
中文简介版本下载
😅 镜像要是出问题,背锅的一定是你

Kafka MongoDB Watcher Docker镜像文档

镜像概述与主要用途

Kafka MongoDB Watcher是一个用于监听MongoDB集合操作日志(oplog)事件(如插入、更新、删除等)并将其分发到指定Kafka主题的工具。同时支持重播模式,可在首次使用时将集合中的所有文档初始化到Kafka主题中。该Docker镜像封装了工具的运行环境,简化部署流程。

核心功能与特性

  • oplog事件监听:实时捕获MongoDB集合的插入、更新、删除等操作事件
  • 重播模式:支持一次性将集合所有文档发送到Kafka主题,适用于首次初始化
  • 灵活配置:通过环境变量自定义MongoDB连接、Kafka连接、过滤规则等参数
  • Prometheus指标:暴露监控指标,便于性能和状态监控
  • 多模式运行:支持同时启用监听和重播模式,满足不同数据同步需求

使用场景与适用范围

  • 数据同步:将MongoDB数据变更实时同步到Kafka,用于下游系统消费
  • 实时数据流处理:作为数据管道组件,为流处理系统(如Spark Streaming、Flink)提供MongoDB变更数据
  • 事件驱动架构:基于MongoDB数据变更触发Kafka消息,实现微服务间的事件通信
  • 数据备份与回放:通过重播模式创建数据快照,用于数据备份或历史数据回放

详细使用方法

Docker镜像获取

镜像已发布至Docker Hub,可直接拉取:

bash
docker pull etf1/kafka-mongo-watcher:latest
基本运行示例

使用docker run命令启动,通过环境变量配置参数:

bash
docker run \
  -e "KAFKA_MONGO_WATCHER_REPLAY=true" \
  -e "KAFKA_MONGO_WATCHER_MONGODB_URI=mongodb://root:password@mongo:27017/mydb?replicaSet=rs0" \
  -e "KAFKA_MONGO_WATCHER_MONGODB_DATABASE_NAME=mydb" \
  -e "KAFKA_MONGO_WATCHER_MONGODB_COLLECTION_NAME=mycollection" \
  -e "KAFKA_MONGO_WATCHER_KAFKA_BOOTSTRAP_SERVERS=kafka:9092" \
  -e "KAFKA_MONGO_WATCHER_KAFKA_TOPIC=mongodb-events" \
  etf1/kafka-mongo-watcher:latest
docker-compose配置示例
yaml
version: '3'
services:
  kafka-mongo-watcher:
    image: etf1/kafka-mongo-watcher:latest
    environment:
      - KAFKA_MONGO_WATCHER_REPLAY=true
      - KAFKA_MONGO_WATCHER_MONGODB_URI=mongodb://root:password@mongo:27017/mydb?replicaSet=rs0
      - KAFKA_MONGO_WATCHER_MONGODB_DATABASE_NAME=mydb
      - KAFKA_MONGO_WATCHER_MONGODB_COLLECTION_NAME=mycollection
      - KAFKA_MONGO_WATCHER_KAFKA_BOOTSTRAP_SERVERS=kafka:9092
      - KAFKA_MONGO_WATCHER_KAFKA_TOPIC=mongodb-events
      - KAFKA_MONGO_WATCHER_LOG_LEVEL=info
    depends_on:
      - mongo
      - kafka

  mongo:
    image: mongo:5
    command: --replSet rs0
    environment:
      - MONGO_INITDB_ROOT_USERNAME=root
      - MONGO_INITDB_ROOT_PASSWORD=password

  kafka:
    image: confluentinc/cp-kafka:7.0.0
    environment:
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092
      - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
    depends_on:
      - zookeeper

  zookeeper:
    image: confluentinc/cp-zookeeper:7.0.0
    environment:
      - ZOOKEEPER_CLIENT_PORT=2181

配置参数说明

可通过环境变量配置镜像,支持多源配置(.env文件、环境变量、命令行参数,后者覆盖前者)。以下是主要配置变量:

环境变量类型描述示例值默认值
KAFKA_MONGO_WATCHER_CUSTOM_PIPELINEstring自定义过滤管道,支持重播和监听模式[ { "$match": { "fullDocument.is_active": true } }, { $addFields: { "custom-field": "custom-value" } } ]-
KAFKA_MONGO_WATCHER_REPLAYbool是否一次性发送集合所有文档truefalse
KAFKA_MONGO_WATCHER_MONGODB_URIstringMongoDB连接URImongodb://root:password@mongo:27017/mydb?replicaSet=rs0mongodb://root:toor@127.0.0.1:27011,...
KAFKA_MONGO_WATCHER_MONGODB_COLLECTION_NAMEstring要监听的MongoDB集合名usersitems
KAFKA_MONGO_WATCHER_MONGODB_DATABASE_NAMEstringMongoDB数据库名mydbwatcher
KAFKA_MONGO_WATCHER_MONGODB_SERVER_SELECTION_TIMEOUTdurationMongoDB服务器选择超时时间5s2s
KAFKA_MONGO_WATCHER_MONGODB_OPTION_BATCH_SIZEintegerMongoDB监听批处理大小(0为不批处理)1000
KAFKA_MONGO_WATCHER_MONGODB_OPTION_FULL_DOCUMENTboolean是否在oplog中返回完整文档falsetrue
KAFKA_MONGO_WATCHER_MONGODB_OPTION_MAX_AWAIT_TIMEduration等待新oplog的最大时间(0为不停止)30s0
KAFKA_MONGO_WATCHER_MONGODB_OPTION_RESUME_AFTERstring变更流的起始逻辑点{"_data": "82650..."}-
KAFKA_MONGO_WATCHER_MONGODB_OPTION_START_AT_OPERATION_TIME_Iuint32变更流起始时间戳(递增值)***-
KAFKA_MONGO_WATCHER_MONGODB_OPTION_START_AT_OPERATION_TIME_Tuint32变更流起始时间戳(时间值)***-
KAFKA_MONGO_WATCHER_MONGODB_OPTION_WATCH_MAX_RETRIESinteger监听集合的最大重试次数(0为禁用重试)53
KAFKA_MONGO_WATCHER_MONGODB_OPTION_WATCH_RETRY_DELAYduration监听重试间隔1s500ms
KAFKA_MONGO_WATCHER_KAFKA_BOOTSTRAP_SERVERSstringKafka引导服务器列表kafka1:9092,kafka2:9092127.0.0.1:9092
KAFKA_MONGO_WATCHER_KAFKA_TOPICstring目标Kafka主题名mongodb-eventskafka-mongo-watcher
KAFKA_MONGO_WATCHER_KAFKA_PRODUCE_CHANNEL_SIZEintegerKafka生产者内部通道最大容量20000***
KAFKA_MONGO_WATCHER_LOG_CLI_VERBOSEboolean是否启用详细日志falsetrue
KAFKA_MONGO_WATCHER_LOG_LEVELstring日志级别debuginfo
KAFKA_MONGO_WATCHER_GRAYLOG_ENDPOINTstringGraylog日志推送端点udp://graylog:***-
KAFKA_MONGO_WATCHER_HTTP_TECH_ADDRstring技术HTTP服务器监听地址:8080:8001
KAFKA_MONGO_WATCHER_PRINT_CONFIGboolean启动时是否打印配置falsetrue
KAFKA_MONGO_WATCHER_PPROF_ENABLEDboolean是否启用Go pprof调试falsetrue

Prometheus指标

工具暴露Go进程和应用监控指标,可通过技术HTTP服务器端点被Prometheus抓取:
http://<容器IP>:8001/metrics
(默认端口可通过KAFKA_MONGO_WATCHER_HTTP_TECH_ADDR修改)

查看更多 kafka-mongo-watcher 相关镜像 →
mongodb/mongodb-community-server logo
mongodb/mongodb-community-server
mongodb
官方MongoDB社区服务器是由MongoDB公司推出的免费开源文档数据库服务,专为开发者与技术社区打造,支持以JSON格式存储灵活的非结构化及半结构化数据,具备高可扩展性、易部署性和丰富的查询功能,广泛应用于Web开发、大数据分析、移动应用后端等场景,为用户提供高效的数据管理解决方案并促进社区协作与技术交流。
17510M+ pulls
上次更新:5 天前
mongodb/mongodb-atlas-local logo
mongodb/mongodb-atlas-local
mongodb
通过Docker创建、管理和自动化MongoDB Atlas Local资源
101M+ pulls
上次更新:5 天前
mongodb/mongodb-atlas-search logo
mongodb/mongodb-atlas-search
mongodb
Atlas Search提供无缝、可扩展的体验,用于构建基于相关性的应用功能。
31M+ pulls
上次更新:5 天前
mongodb/mongodb-enterprise-server logo
mongodb/mongodb-enterprise-server
mongodb
MongoDB官方企业高级服务器是面向企业级应用的高性能、可扩展文档数据库服务器,支持复杂查询、分布式部署与实时数据分析,提供企业级安全特性(如身份验证、数据加密)、完善的数据备份与恢复机制及专业监控工具,助力企业构建稳定高效的现代应用架构,满足大规模数据存储、处理与业务创新需求。
141M+ pulls
上次更新:5 天前
mongodb/mongodb-atlas-kubernetes-operator logo
mongodb/mongodb-atlas-kubernetes-operator
mongodb
MongoDB Atlas Kubernetes Operator - 基于Kubernetes原生管理MongoDB Atlas基础设施
51M+ pulls
上次更新:5 天前
mongodb/mongodb-mcp-server logo
mongodb/mongodb-mcp-server
mongodb
官方MongoDB MCP服务器镜像,用于部署和运行MongoDB MCP服务,提供官方支持的可靠运行环境。
1100K+ pulls
上次更新:5 天前

轩辕镜像配置手册

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

登录仓库拉取

通过 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访问体验非常流畅,大镜像也能快速完成下载。"

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