在 Windows 本地安装部署 Apache Druid 可以按照以下步骤进行。由于 Druid 是基于 Java 的应用,需要先准备好 Java 环境,然后下载配置 Druid。
一、环境准备
1. 安装 Java
确保已安装 Java 8 或以上版本(推荐 Java 11):
- 下载并安装 OpenJDK:Adoptium
- 配置环境变量:
JAVA_HOME
:指向 JDK 安装目录(如C:\Program Files\Eclipse Adoptium\jdk-11.0.16.101-hotspot
)PATH
:添加%JAVA_HOME%\bin
验证 Java 安装:
java -version
# 输出示例:openjdk version "11.0.16.1" 2022-08-12
2. 安装 ZooKeeper
Druid 依赖 ZooKeeper 协调集群,需单独安装:
- 下载 ZooKeeper:Apache ZooKeeper(如 3.7.0 版本)
- 解压到目录(如
C:\zookeeper-3.7.0
) - 创建数据目录:
mkdir C:\zookeeper-3.7.0\data
- 复制配置模板:
powershell
cd C:\zookeeper-3.7.0\conf copy zoo_sample.cfg zoo.cfg
- 编辑
zoo.cfg
,修改数据目录:properties
dataDir=C:/zookeeper-3.7.0/data
二、下载并配置 Druid
1. 下载 Druid
从官网下载稳定版本:Apache Druid Releases
解压到目录(如 C:\druid-0.25.0
)。
2. 修改配置文件
主要修改内存配置(Windows 默认配置可能过高):
- 编辑
conf/druid/cluster/coordinator/runtime.properties
,减少内存:properties
druid.service=druid/coordinator druid.coordinator.period=PT30S druid.jetty.threads.max=10 -Xmx512m # 原配置可能为2g,减少到512m -Xms512m
- 类似地,修改其他组件(broker、historical、overlord)的内存配置。
三、启动服务
1. 启动 ZooKeeper
cd C:\zookeeper-3.7.0
bin\zkServer.cmd
2. 启动 Druid
打开多个 PowerShell 窗口,分别启动以下组件(按顺序):
1. Coordinator(集群协调器)
cd C:\druid-0.25.0
bin\start-coordinator.bat
2. Overlord(任务调度)
cd C:\druid-0.25.0
bin\start-overlord.bat
3. Historical(历史数据服务)
cd C:\druid-0.25.0
bin\start-historical.bat
4. Broker(查询代理)
cd C:\druid-0.25.0
bin\start-broker.bat
5. Router(可选,统一入口)
cd C:\druid-0.25.0
bin\start-router.bat
四、验证安装
1. 访问控制台
打开浏览器,访问:http://localhost:8888
应看到 Druid 控制台界面,显示集群状态。
2. 加载示例数据
在控制台中,点击 Load data
→ Quickstart
→ wikipedia
,提交数据加载任务。
任务完成后,在 Datasources
标签页应看到 wikipedia
数据源。
3. 执行查询
在控制台的 Query
标签页,选择 wikipedia
数据源,执行示例查询:
SELECT COUNT(*) AS cnt FROM wikipedia
应返回查询结果。
五、常见问题及解决方案
1. 内存不足问题
若启动时报 java.lang.OutOfMemoryError
,修改各组件的 JVM 内存参数(如 -Xmx512m
)。
2. 端口冲突
若提示端口被占用,修改 conf/druid/cluster
下对应组件的 runtime.properties
中的端口配置。
3. ZooKeeper 连接失败
确保 ZooKeeper 正常运行,且 Druid 配置文件中的 ZK 地址正确(默认 localhost:2181
)。
4. Windows 路径问题
若遇到路径解析错误,确保配置文件中的路径使用 /
而非 \
,或使用双反斜杠 \\
。
六、关闭服务
按与启动相反的顺序关闭各组件(在对应 PowerShell 窗口按 Ctrl+C
):
- Router
- Broker
- Historical
- Overlord
- Coordinator
- ZooKeeper
七、进一步配置
- 持久化存储:修改
conf/druid/cluster/common/runtime.properties
,配置深度存储(如本地路径或 S3)。 - 多节点集群:在不同机器或端口启动多个组件实例,配置相互发现。
- 生产环境优化:调整 JVM 参数、增加内存、配置监控(如 Prometheus+Grafana)。
通过以上步骤,你可以在 Windows 本地成功部署并验证 Druid 单节点环境。若需更复杂的生产环境,建议使用 Linux 或 Docker 部署。