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中的內容能夠幫助你對你的硬體配置做一些選擇。