Apache Druid是一款开源实时分析数据库,专为大规模时序数据的快速查询与实时摄入设计,支持交互式分析,提供高性能数据处理能力。
收藏数: 59
下载次数: 6555257
类型:
apache/druidApache Druid 是一款高性能实时分析数据库,旨在缩短从数据到洞察与行动的时间。其核心优势在于快速的数据摄入和查询能力,适用于需要实时分析、高并发查询及交互式数据探索的场景。
Apache Druid Docker 镜像(apache/druid)提供了便捷的容器化部署方案,简化了 Druid 集群的搭建流程,确保环境一致性,并支持灵活的配置与扩展。该镜像适用于开发测试、演示环境及中小规模生产部署。
单节点模式适合快速体验 Druid 功能,包含所有核心服务及内置依赖(ZooKeeper、元数据库)。
bashdocker run -d \ -p 8888:8888 \ # Web 控制台端口 -p 8081:8081 \ # Coordinator 端口 -p 8082:8082 \ # Overlord 端口 -p 8083:8083 \ # Broker 端口 -p 8084:8084 \ # Router 端口 -p 2181:2181 \ # ZooKeeper 端口 --name druid-quickstart \ apache/druid:latest \ bin/start-micro-quickstart
启动后,访问 http://localhost:8888 打开 Druid Web 控制台。
多组件模式适用于模拟生产环境,分离 Druid 各服务并使用外部依赖(如独立 ZooKeeper、PostgreSQL)。
yamlversion: '3.8' services: # ZooKeeper 依赖 zookeeper: image: zookeeper:3.8 ports: - "2181:2181" environment: ZOOKEEPER_CLIENT_PORT: 2181 volumes: - zk-data:/data - zk-datalog:/datalog # 元数据库(PostgreSQL) postgres: image: postgres:14 ports: - "5432:5432" environment: POSTGRES_DB: druid POSTGRES_USER: druid POSTGRES_PASSWORD: druid volumes: - pg-data:/var/lib/postgresql/data # Druid Coordinator(集群协调) coordinator: image: apache/druid:latest depends_on: - zookeeper - postgres ports: - "8081:8081" environment: - DRUID_XMX: "1g" - DRUID_XMS: "1g" - DRUID_CONFIG_COMMON: "common.runtime.properties" - DRUID_CONFIG_COORDINATOR: "coordinator.runtime.properties" - ZOOKEEPER_HOST: zookeeper - METADATA_STORAGE_TYPE: postgresql - METADATA_STORAGE_URL: jdbc:postgresql://postgres:5432/druid - METADATA_STORAGE_USER: druid - METADATA_STORAGE_PASSWORD: druid volumes: - druid-coordinator:/opt/druid/var # Druid Overlord(任务管理) overlord: image: apache/druid:latest depends_on: - zookeeper - postgres ports: - "8082:8082" environment: - DRUID_XMX: "1g" - DRUID_XMS: "1g" - DRUID_CONFIG_COMMON: "common.runtime.properties" - DRUID_CONFIG_OVERLORD: "overlord.runtime.properties" - ZOOKEEPER_HOST: zookeeper - METADATA_STORAGE_TYPE: postgresql - METADATA_STORAGE_URL: jdbc:postgresql://postgres:5432/druid - METADATA_STORAGE_USER: druid - METADATA_STORAGE_PASSWORD: druid volumes: - druid-overlord:/opt/druid/var # 更多服务(Broker、Router、Historical、MiddleManager)配置类似,略... volumes: zk-data: zk-datalog: pg-data: druid-coordinator: druid-overlord:
bashdocker-compose up -d
Docker 镜像支持通过环境变量调整核心配置,关键参数如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
DRUID_XMX | JVM 最大堆内存 | 1g |
DRUID_XMS | JVM 初始堆内存 | 1g |
ZOOKEEPER_HOST | ZooKeeper 连接地址 | localhost:2181 |
METADATA_STORAGE_TYPE | 元数据库类型(postgresql/mysql) | derby(内置,仅单节点用) |
METADATA_STORAGE_URL | 元数据库 JDBC URL | jdbc:derby://localhost:1527/var/druid/metadata.db |
METADATA_STORAGE_USER | 元数据库用户名 | druid |
METADATA_STORAGE_PASSWORD | 元数据库密码 | druid |
DRUID_CONFIG_COMMON | 通用配置文件名 | common.runtime.properties |
DRUID_CONFIG_<ROLE> | 服务角色配置文件(如 COORDINATOR) | <role>.runtime.properties |
通过挂载卷(Volumes)持久化 Druid 数据和配置:
/opt/druid/var(包含 segments、任务日志等)/opt/druid/conf(可挂载自定义配置文件覆盖默认值)示例(挂载自定义配置):
bashdocker run -d \ -v ./custom-conf:/opt/druid/conf \ # 挂载自定义配置 apache/druid:latest
Druid 配置主要通过 runtime.properties 文件定义,Docker 镜像默认配置位于 /opt/druid/conf。关键配置项如下:
| 配置项 | 描述 | 示例值 |
|---|---|---|
druid.zk.service.host | ZooKeeper 地址 | zookeeper:2181 |
druid.metadata.storage.connector.connectURI | 元数据库连接 URI | jdbc:postgresql://postgres:5432/druid |
druid.coordinator.startAsLeader | Coordinator 是否以 leader 模式启动 | true |
druid.server.http.numThreads | HTTP 服务线程数 | 60 |
druid.processing.buffer.sizeBytes | 处理缓冲区大小 | ***(128MB) |
DRUID_XMX/DRUID_XMS)和处理线程数,避免 OOM。apache/druid:28.0.0),升级前参考官方迁移文档。以下是 apache/druid 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务