Druid 集群方式部署 —— 配置调整

2021-08-09 10:47:05 浏览数 (2)

从一个单独部署服务器上进行合并到集群的时候,需要对下面的一些配置进行调整。

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(独立服务器部署)

代码语言:javascript复制
druid.processing.buffer.sizeBytes=500000000
druid.processing.numMergeBuffers=8
druid.processing.numThreads=31

MiddleManager(独立服务器部署)

代码语言:javascript复制
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 个数据服务器)

代码语言:javascript复制
 druid.processing.buffer.sizeBytes=500000000
 druid.processing.numMergeBuffers=8
 druid.processing.numThreads=31

集群 MiddleManager (使用 2 个数据服务器)

代码语言:javascript复制
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 中的内容能够帮助你对你的硬件配置做一些选择。

https://www.ossez.com/t/druid/13649

0 人点赞