Apache Druid 被設計部署為可擴充和容錯的叢集部署方式。
在本文檔中,我們将會設定一個示例叢集,并且進行一些讨論,你可以進行那些修改來滿足你的需求。
這個簡單的叢集包括有下面的特性:
- 主伺服器(Master Server)将會運作 Coordinator 和 Overlord 程序
- 2 個可擴充和容錯的資料伺服器将會運作 Historical 和 MiddleManager 程序
- 一個查詢伺服器(Query Server)将會運作 Broker 和 Router 程序
在生産環境中,我們建議你部署多個 Master 伺服器和多個 Query 伺服器,伺服器的高可用性(fault-tolerant)配置與你的資料特性和容錯性要求息息相關。
但是你可以使用一個主伺服器(Master Server) 和 一個查詢伺服器(Query Server)來啟動服務,随着需求的增加你可以随時增加更多的伺服器節點。
選擇硬體
全新部署
如果你沒有已經存在的 Druid 叢集,但是你希望開始在你的環境中使用叢集方式部署 Druid,本文檔将會使用預配置(pre-made configurations)内容來幫助你開始部署 Druid 的叢集。
主伺服器(Master Server)
Coordinator 和 Overlord 程序将會負責處理 metadata 資料和在你叢集中進行協調。這 2 個程序可以合并在同一個伺服器上。
在本示例中,我們将會在 AWS m5.2xlarge 部署一個評估的伺服器和執行個體。
AWS 上面硬體的配置為:
- 8 vCPUs
- 31 GB RAM
有關本伺服器的配置資訊和有關硬體大小的建議,可以在檔案
conf/druid/cluster/master
中找到。
資料伺服器(Data server)
Historicals 和 MiddleManagers 可以合并到同一個伺服器上,這個 2 個程序在你的叢集中用于處理實際的資料。通常來說越大 CPU, RAM, SSDs硬碟越好。
在本示例中,我們将會在 i3.4xlarge 部署一個評估的伺服器和執行個體。
AWS 上面硬體的配置為:
- 16 vCPUs
- 122 GB RAM
- 2 * 1.9TB SSD storage
有關本伺服器的配置資訊和有關硬體大小的建議,可以在檔案
conf/druid/cluster/data
中找到。
查詢伺服器(Query server)
Druid Brokers 可以接受查詢,并且将接受的查詢發送到叢集中處理。同時他們也負責維護記憶體中的查詢緩存, 常來說越大的 CPU, RAM 越好。
在本示例中,我們将會在 m5.2xlarge 部署一個評估的伺服器和執行個體。
AWS 上面硬體的配置為:
- 8 vCPUs
- 31 GB RAM
你也可以考慮在運作 Broker 程序的查詢伺服器上部署任何開源的 UI 或者查詢庫。
有關本伺服器的配置資訊和有關硬體大小的建議,可以在檔案,可以在檔案
conf/druid/cluster/query
中找到。
其他硬體大小
上面的示例叢集配置是從多種确定 Druid 叢集可能的配置方式中選擇的一個示例。
您可以根據自己的特定需求和要求來選擇 較小/較大的硬體配置或 較少/更多的伺服器數量。 如果你的使用執行個體有比較複雜的可擴充性要求,你也可以選擇不将程序合并到伺服器上的配置方案,而針對每一個程序配置一台伺服器(例如,你可以配置一個獨立的 Historical 伺服器)。
有關更多的配置資訊,請參考頁面 basic cluster tuning guide 中的内容,能夠幫助你如何對你的配置進行配置和擴充。
https://www.ossez.com/t/druid/13642