Apache Druid 安装与使用指南
本指南将带你逐步了解如何安装并使用开源实时分析数据库 Apache Druid。首先,我们将概述项目目录结构,然后解释启动文件及其作用,最后详细讨论配置文件。
1. 项目目录结构及介绍
在解压或克隆 apache/druid
仓库后,你会看到以下主要目录:
- bin:存放用于启动和管理 Druid 的脚本。
- conf:包含了 Druid 默认的配置文件和示例。
- lib:包含了 Druid 运行时依赖的库文件。
- sql:存储了 Druid 支持的 SQL 命令和样例。
- src:源代码目录,如果你需要定制或开发 Druid 功能,可以在此处查看和修改代码。
- docs:包含 Druid 的文档和 API 参考。
2. 项目的启动文件介绍
在 bin
目录下,有几个关键的脚本用于启动 Druid 的不同组件:
- druid.sh:这是一个通用的脚本,用于设置环境变量并启动任何 Druid 组件。
- historical.sh/broker.sh/coordinator.sh/indexer-executor.sh/middlemanager.sh/overlord.sh:这些脚本分别对应 Druid 中的不同节点角色(历史服务器、查询代理、协调器、索引执行器、中间管理器和主宰节点)。
启动 Druid 集群时,通常需要依次启动 coordinator.sh
、broker.sh
、historical.sh
和 middlemanager.sh
。在生产环境中,还需要考虑其他如 ZooKeeper、Kafka 等依赖服务的状态。
3. 项目的配置文件介绍
Druid 的配置位于 conf/druid
目录下。主要的配置文件有:
- common.runtime.properties:全局默认配置,适用于所有 Druid 节点。
- {nodetype}.runtime.properties:针对特定节点类型(如 broker、historical 等)的配置。
配置项主要包括:
- druid.zk.service.host:ZooKeeper 地址。
- druid.server.http.port:各个节点的 HTTP 服务端口。
- druid.indexer.fork.property.{property}:用于集群间通信和工作进程配置的属性。
配置 Druid 需要根据实际需求调整上述文件中的参数值。例如,增加内存分配以提高性能,或者更改数据存储位置等。
初始化配置
首次运行 Druid 时,你可以使用 bin/start-example.sh
脚本来快速启动一个简单的演示集群,这个脚本会在 conf
目录下创建一个 example
子目录,里面包含了初始化配置。
在实际部署中,你需要根据你的硬件资源和业务需求,参照这些初始配置进行调整和优化。
开始使用
- 确保所有依赖服务(如 ZooKeeper、Kafka)已启动。
- 修改
conf/{nodetype}.runtime.properties
文件以适应你的环境。 - 使用相应的启动脚本启动 Druid 节点,例如
bin/historical.sh
。 - 访问 Druid 的 Web 控制台(默认端口是
8082
),验证集群状态。
通过以上步骤,你应该能成功安装和启动 Apache Druid。为了深入了解 Druid 的功能和性能调优,建议阅读官方文档和社区资源。祝你使用愉快!