
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像基于Pinterest Secor项目(https://github.com/pinterest/secor%EF%BC%89%EF%BC%8C%E9%80%9A%E8%BF%87Docker%E6%89%93%E5%8C%85%E6%88%90%E5%8C%85%E5%90%AB%E6%89%80%E6%9C%89%E4%BE%9D%E8%B5%96%E7%9A%84uber-jar%EF%BC%88%E5%8D%95jar%E5%8C%85%EF%BC%89%EF%BC%8C%E6%96%B9%E4%BE%BF%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2%E5%92%8C%E4%BD%BF%E7%94%A8%E3%80%82%E5%BD%93%E5%89%8D%E7%89%88%E6%9C%AC%E4%B8%BASecor 0.22,使用Kafka客户端0.10.0.1。
docker-entrypoint.sh作为镜像入口,负责通过运行时环境变量配置Secor的各项参数。
可本地构建镜像:
shelldocker build -t [你的组织名/]secor .
若在AWS实例外运行,需指定AWS凭证:
shelldocker run \ -e DEBUG=true \ -e ZOOKEEPER_QUORUM=zookeeper.quorum.consul:2181 \ -e AWS_ACCESS_KEY=你的密钥 \ -e AWS_SECRET_KEY=你的密钥 secret \ -e SECOR_S3_BUCKET=my-kafka-backups \ -e SECOR_GROUP=raw_logs \ secor
更多配置项可通过-e NAME=value传入,详见下方配置表。
| 环境变量名称 | 是否必填 | 用途说明 |
|---|---|---|
ZOOKEEPER_QUORUM | 是 | Zookeeper集群地址(若指定KAFKA_SEED_BROKER_HOST则可不填) |
KAFKA_SEED_BROKER_HOST | 是 | Kafka broker地址(若指定ZOOKEEPER_QUORUM则可不填) |
SECOR_S3_BUCKET | 是 | 备份数据存储的S3桶名 |
SECOR_S3_PATH | 是 | S3桶内存储序列文件的路径 |
SECOR_FILE_READER_WRITER_FACTORY | 否 | 使用的WriterFactory(默认:SequenceFileReaderWriterFactory) |
DEBUG | 否 | 启用调试日志(默认:false) |
JVM_MEMORY | 否 | JVM内存大小(通过-Xmx参数,默认:512m) |
KAFKA_SEED_BROKER_PORT | 否 | Kafka broker端口(默认:9092) |
AWS_ACCESS_KEY | 否 | AWS访问密钥 |
AWS_SECRET_KEY | 否 | AWS秘密密钥 |
AWS_REGION | 否 | S3上传的AWS区域 |
AWS_ENDPOINT | 否 | S3上传的端点地址 |
SECOR_KAFKA_TOPIC_FILTER | 否 | 备份主题的正则过滤(默认:.*) |
SECOR_KAFKA_TOPIC_BLACKLIST | 否 | 排除备份的主题列表 |
SECOR_MAX_FILE_BYTES | 否 | S3文件最大字节数(默认:200000000) |
SECOR_MAX_FILE_SECONDS | 否 | S3文件最大存储时间(默认:3600秒) |
SECOR_COMPRESSION_CODEC | 否 | Hadoop压缩编码方式 |
SECOR_FILE_EXTENSION | 否 | 分区文件的自定义扩展名 |
SECOR_TIMESTAMP_NAME | 否 | DateMessageParser使用的JSON时间戳字段(默认:timestamp) |
SECOR_TIMESTAMP_PATTERN | 否 | DateMessageParser使用的时间戳格式 |
PARTITIONER_GRANULARITY_HOUR | 否 | 是否按小时分区(默认:false) |
PARTITIONER_GRANULARITY_MINUTE | 否 | 是否按分钟分区(默认:false) |
SECOR_KAFKA_GROUP | 否 | Kafka消费者组名(默认:secor_backup) |
SECOR_MESSAGE_PARSER_CLASS | 否 | 消息解析器类(默认:OffsetMessageParser) |
SECOR_GENERATION | 否 | 版本ID(默认:1) |
SECOR_CONSUMER_THREADS | 否 | 每个Secor进程的消费者线程数(默认:7) |
SECOR_MESSAGES_PER_SECOND | 否 | 进程每秒最大消费消息数(默认:***) |
SECOR_OFFSETS_PER_PARTITION | 否 | 每个备份分区存储的偏移量数量(默认:***) |
KAFKA_OFFSETS_STORAGE | 否 | 偏移量存储位置(kafka/zookeeper,默认:kafka) |
KAFKA_DUAL_COMMIT_ENABLED | 否 | 是否同时提交偏移量到Kafka和Zookeeper(默认:false) |
SECOR_OSTRICH_PORT | 否 | Ostrich数据端口(默认:9999) |
若仅需打包Secor为独立uber-JAR,可直接运行Gradle任务:
shell./gradlew shadowJar
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。





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