版本矩阵

已验证说明
Apache Druid 30.0.0三角色:master/data/query
依赖:ZooKeeper 三节点先起 zkServer.sh start
依赖:Hadoop/HDFSstart-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 OOMprocessing.buffer.sizeBytes 与 MaxDirectMemorySize 不匹配提升 MaxDirectMemorySize 或下调 buffer
Broker 起后查询即挂,OutOfMemoryErrorBroker 堆外偏小且并发略高临时降并发;或把 DirectMemory 提至 1g
查询报 Cannot acquire enough memorybuffer 过小或线程/合并缓冲太多降 numThreads/numMergeBuffers 或抬 buffer

WebUI访问

http://h121.wzk.icu:8888