从一个单独部署服务器上进行合并到集群的时候,需要对下面的一些配置进行调整。
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 中的内容能够帮助你对你的硬件配置做一些选择。