Druid 集群方式部署 —— 配置调整
从一个单独部署服务器上进行合并到集群的时候,需要对下面的一些配置进行调整。
Master 服务
如果你已经有一个已经存在并且独立运行的独立服务器部署的话,例如在页面 single-server deployment examples 中部署的服务器,
下面的这个示例将会帮助你将 Coordinator 和 Overlord 合并到一个进程上面
conf/druid/cluster/master/coordinator-overlord
下面的示例,显示例如如何同时合并 Coordinator 和 Overlord 进程。
你可以从已经部署的独立服务器上拷贝已经存在 coordinator-overlord
配置文件,并部署到 conf/druid/cluster/master/coordinator-overlord
。
Data 服务
假设我们将要从一个 32 CPU 和 256GB 内存的独立服务器上进行合并。
在老的部署中,下面的配置是针对 Historicals 和 MiddleManagers 进程的:
Historical(独立服务器部署)
druid.processing.buffer.sizeBytes=500000000
druid.processing.numMergeBuffers=8
druid.processing.numThreads=31
MiddleManager(独立服务器部署)
druid.worker.capacity=8
druid.indexer.fork.property.druid.processing.numMergeBuffers=2
druid.indexer.fork.property.druid.processing.buffer.sizeBytes=100000000
druid.indexer.fork.property.druid.processing.numThreads=1
在集群部署环境中,我们可以选择使用 2 个服务器来运行上面的 2 个服务,这 2 个服务器的配置为 16CPU 和 128GB RAM 。
我们将会按照下面的配置方式进行配置:
Historical
druid.processing.numThreads
: 基于配置的新硬件环境,设置为(num_cores - 1)
druid.processing.numMergeBuffers
: 针对独立服务器使用的数量使用分裂因子相除druid.processing.buffer.sizeBytes
: 保持不变
MiddleManager:
druid.worker.capacity
: 针对独立服务器使用的数量使用分裂因子相除druid.indexer.fork.property.druid.processing.numMergeBuffers
: 保持不变druid.indexer.fork.property.druid.processing.buffer.sizeBytes
: 保持不变druid.indexer.fork.property.druid.processing.numThreads
: 保持不变
在完成上面配置后的结果如下:
集群 Historical (使用 2 个数据服务器)
druid.processing.buffer.sizeBytes=500000000
druid.processing.numMergeBuffers=8
druid.processing.numThreads=31
集群 MiddleManager (使用 2 个数据服务器)
druid.worker.capacity=4
druid.indexer.fork.property.druid.processing.numMergeBuffers=2
druid.indexer.fork.property.druid.processing.buffer.sizeBytes=100000000
druid.indexer.fork.property.druid.processing.numThreads=1
Query 服务
你可以将已经在独立服务器部署中存在的配置文件拷贝到 conf/druid/cluster/query
目录中完成部署。
如果新的服务器的硬件配置和独立服务器的配置是相对的话,新的部署不需要做修改。
刷新部署 deployment
如果你使用下面的服务器配置环境为示例的话:
- 1 Master server (m5.2xlarge)
- 2 Data servers (i3.4xlarge)
- 1 Query server (m5.2xlarge)
在 conf/druid/cluster
文件夹中的配置文件已经针对上面的硬件环境进行了优化,针对基本情况的使用来说,你不需要针对上面的配置进行修改。
如果你选择使用不同的硬件的话,页面 basic cluster tuning guide 中的内容能够帮助你对你的硬件配置做一些选择。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2019-08-06 MessagePack Java 0.6.X 快速开始指南 - 安装
2018-08-06 Confluence 6 配置 Web 代理支持