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 中的内容能够帮助你对你的硬件配置做一些选择。