
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Apache Flume是一个分布式、高可靠、高可用的系统,专为从大量数据源向Hadoop生态系统中的各类存储系统(如HDFS、HBase、ElasticSearch、Kafka等)推送数据而设计。Bigcontainer Flume Docker镜像将Apache Flume容器化,提供便捷的部署方式,适用于大数据生态系统中的实时或近实时数据采集场景。
Flume的核心价值在于其灵活的架构设计,支持轻松扩展,并通过持久化通道确保数据不丢失。部署的最小单元为Flume代理(agent),多个代理可连接形成多跳数据流(multi-hop flows),实现数据从源到目标的可靠传输。
每个Flume代理包含三个关键组件:
Flume适用于以下场景:
基本运行命令
bash# 启动Flume容器 docker run --name myflume docker.xuanyuan.run/bigcontainer/flume # 获取容器IP export FLUMEIP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' myflume) # 发送测试事件 curl -X POST \ -H 'Content-Type: application/json; charset=UTF-8' \ -d '[{"headers":{"header.key":"header.value"}, "body":"hello world"}]' \ $FLUMEIP:1234
自定义配置文件
创建配置文件helloworld.conf,定义代理、源、通道和接收器:
confagent.sources = s1 agent.channels = c1 agent.sinks = k1 # 配置HTTP源(接收HTTP POST/GET请求) agent.sources.s1.type = http agent.sources.s1.handler = org.apache.flume.source.http.JSONHandler agent.sources.s1.channels = c1 # 关联通道c1 agent.sources.s1.bind = 0.0.0.0 # 监听所有网络接口 agent.sources.s1.port = 1234 # 监听端口 # 配置内存通道 agent.channels.c1.type = memory # 配置日志接收器(用于调试,将事件输出到日志) agent.sinks.k1.type = logger agent.sinks.k1.channel = c1 # 关联通道c1
启动容器时挂载配置文件:
bashdocker run --name myflume -v $(pwd)/helloworld.conf:/opt/flume/conf/helloworld.conf docker.xuanyuan.run/bigcontainer/flume \ bin/flume-ng agent -n agent -c conf -f conf/helloworld.conf -Dflume.root.logger=INFO,console
创建应用
使用远程Git仓库构建镜像并创建应用:
bash# 登录OpenShift oc login -u developer # 基于Git仓库创建应用(包含Dockerfile) oc new-app https://github.com/bigcontainer/bigcont \ --context-dir=flume \ --name=flume-service # 查看构建日志 oc logs bc/flume-service -f
暴露服务路由
bash# 获取路由器IP oc describe pod router-1-kb10r | grep IP # 暴露路由(替换<router-ip>为实际IP) oc expose --hostname=flume.<router-ip>.xip.io svc flume-service
测试事件发送
bash# 发送测试事件 curl -X POST \ -H 'Content-Type: application/json; charset=UTF-8' \ -d '[{"headers":{"header.key":"header.value"}, "body":"hello world"}]' \ flume.<router-ip>.xip.io
扩展集群
bash# 扩展副本数至3个 oc scale --replicas=3 rc flume-service-1 # 查看 pods oc get pod
对于复杂场景(如多跳数据流、配置解耦),可参考Flume模板文件夹,使用ConfigMap管理配置数据,实现容器与配置的解耦。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务