版本矩阵
| 项 | 已验证 | 说明 |
|---|---|---|
| Apache Druid 30.0.0 | 是 | 三角色:master/data/query |
| 依赖:ZooKeeper 三节点 | 是 | 先起 zkServer.sh start |
| 依赖:Hadoop/HDFS | 是 | start-all.sh 或 start-dfs.sh |
| Historical:-Xmx512m / Direct 1g | 是 | 同步将 processing.buffer.sizeBytes≈50 MiB |
| Broker:-Xmx512m / Direct 512m | 是 | 同步 processing.buffer.sizeBytes≈50 MiB |
| Router:-Xmx128m / Direct 128m | 是 | 轻量路由,仅转发查询 |
| 时区参数 -Duser.timezone=UTC+8 | 是 | 可运行 |
配置汇总
- coordinator-overlord:512M
- historical:512M,堆外1G
- middleManger:128M
- broker:512M、堆外512M
- router:128M,堆外128M
关键公式
maxDirectMemory = druid.processing.buffer.sizeBytes × (druid.processing.numMergeBuffers + druid.processing.numThreads + 1)
如果 processing.buffer.sizeBytes 太大,需要加大 maxDirectMemory,否则服务无法启动。
启动命令
查询节点(h121):
cd /opt/servers/apache-druid-30.0.0
nohup start-cluster-query-server &
数据节点(h122):
cd /opt/servers/apache-druid-30.0.0
nohup start-cluster-data-server &
主节点(h123):
cd /opt/servers/apache-druid-30.0.0
nohup start-cluster-master-no-zk-server &
错误速查
| 症状 | 根因 | 修复 |
|---|---|---|
| Historical 启不来,日志含 Direct buffer OOM | processing.buffer.sizeBytes 与 MaxDirectMemorySize 不匹配 | 提升 MaxDirectMemorySize 或下调 buffer |
| Broker 起后查询即挂,OutOfMemoryError | Broker 堆外偏小且并发略高 | 临时降并发;或把 DirectMemory 提至 1g |
| 查询报 Cannot acquire enough memory | buffer 过小或线程/合并缓冲太多 | 降 numThreads/numMergeBuffers 或抬 buffer |
WebUI访问
http://h121.wzk.icu:8888