apache/incubator-druidApache Druid (incubating) 是一个高性能分析数据存储,专为事件驱动型数据设计。该Docker镜像封装了Apache Druid的核心组件,提供了便捷的部署方式,适用于快速搭建Druid集群或单节点实例,以支持实时和批量数据的高效分析处理。
免责声明:Apache Druid 是Apache软件基金会(ASF)正在孵化的项目,由Apache孵化器赞助。所有新接受的项目都需要经过孵化阶段,直到进一步审查表明其基础设施、通信和决策流程已稳定,达到与其他成功ASF项目一致的水平。孵化状态不一定反映代码的完整性或稳定性,但确实表明该项目尚未得到ASF的完全认可。
从Docker Hub拉取官方镜像:
bashdocker pull apache/incubator-druid
使用docker run命令启动单节点Druid实例(内置ZooKeeper和本地元数据库,仅用于开发测试):
bashdocker run -d \ --name druid-single \ -p 8081:8081 \ # Coordinator UI -p 8082:8082 \ # Overlord UI -p 8083:8083 \ # Broker UI -p 8088:8088 \ # Router UI -p 8090:8090 \ # Historical节点 -p 8200:8200 \ # MiddleManager节点 apache/incubator-druid
启动后,通过http://localhost:8081访问Coordinator UI,验证服务是否正常运行。
推荐使用docker-compose部署Druid集群,以下为基础配置示例(需根据实际环境调整):
docker-compose.yml配置yamlversion: '3' services: zookeeper: image: zookeeper:3.7 ports: - "2181:2181" environment: - ZOO_MY_ID=1 volumes: - zk-data:/data - zk-datalog:/datalog coordinator: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=coordinator - DRUID_XMX=1g - DRUID_XMS=1g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8081:8081" volumes: - druid-coordinator:/opt/druid/var overlord: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=overlord - DRUID_XMX=1g - DRUID_XMS=1g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8082:8082" volumes: - druid-overlord:/opt/druid/var broker: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=broker - DRUID_XMX=2g - DRUID_XMS=2g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8083:8083" volumes: - druid-broker:/opt/druid/var router: image: apache/incubator-druid depends_on: - coordinator - overlord - broker environment: - DRUID_ROLE=router - DRUID_XMX=512m - DRUID_XMS=512m - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8088:8088" volumes: - druid-router:/opt/druid/var historical: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=historical - DRUID_XMX=4g - DRUID_XMS=4g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8090:8090" volumes: - druid-historical:/opt/druid/var - druid-segment-storage:/opt/druid/var/segment-storage # 持久化Segment数据 middlemanager: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=middlemanager - DRUID_XMX=2g - DRUID_XMS=2g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8200:8200" volumes: - druid-middlemanager:/opt/druid/var volumes: zk-data: zk-datalog: druid-coordinator: druid-overlord: druid-broker: druid-router: druid-historical: druid-segment-storage: druid-middlemanager:
启动集群:
bashdocker-compose up -d
Druid节点可通过环境变量调整核心配置,常用环境变量如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
DRUID_ROLE | 指定Druid节点角色(必填),可选值:coordinator/overlord/broker/router/historical/middlemanager | 无 |
DRUID_XMX | JVM堆内存上限(如1g/2g) | 1g |
DRUID_XMS | JVM堆内存初始值 | 同DRUID_XMX |
ZOOKEEPER_HOST | ZooKeeper服务地址 | localhost |
ZOOKEEPER_PORT | ZooKeeper服务端口 | 2181 |
DRUID_CONFIG | 自定义配置文件路径(通过挂载外部配置文件覆盖默认配置) | /opt/druid/conf/druid |
若需精细化配置(如调整查询缓存、数据保留策略等),可通过挂载外部配置文件实现。例如,将本地配置目录挂载到容器内:
bashdocker run -d \ --name druid-coordinator \ -e DRUID_ROLE=coordinator \ -v /path/to/custom-config:/opt/druid/conf/druid \ apache/incubator-druid
配置文件结构需遵循Druid官方规范,具体可参考Druid配置文档。
#druid频道,通过邀请链接注册。本镜像基于Apache License, Version 2.0开源许可协议发布。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务