日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

导致集群重启_干货丨如何水平扩展和垂直扩展DolphinDB集群?

發布時間:2023/12/15 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 导致集群重启_干货丨如何水平扩展和垂直扩展DolphinDB集群? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

隨著業務的擴展,數據量不斷積累,數據庫系統的數據容量和計算能力會逐漸不堪重負,因此優秀的數據庫系統必須具備良好的擴展性。DolphinDB集群中的數據節點是集計算和存儲于一體的,所以要提高計算能力和數據容量,只需針對數據節點即可。DolphinDB既支持水平擴展,即增加節點,也支持垂直擴展,即增加節點的存儲。

在擴展集群前,需要對DolphinDB集群有基本的概念。DolphinDB集群由3個角色組成:控制節點(Controller)、代理節點(Agent)和數據節點(Data Node)。每個角色任務分配如下:

  • 控制節點負責管理元數據,提供Web集群管理工具。
  • 代理節點負責節點的啟動和停止,每臺服務器上必須有一個代理節點。
  • 數據節點負責計算和存儲。

與集群相關的配置文件,一般位于config目錄下:

controller.cfg:位于控制節點所在的服務器,負責定義控制節點的相關配置,如IP、端口號、控制節點連接數上限等。

cluster.cfg:位于控制節點所在的服務器,負責定義集群內每一個節點的個性化配置,如存儲路徑、連接數、內存限制等。

cluster.nodes:位于控制節點所在的服務器,集群的成員配置文件,包含節點的IP、端口、節點別名和角色。

agent.cfg:包含代理節點的IP、端口和控制節點的IP和端口。每個物理服務器必須有一個代理節點。

如果是水平擴展集群,需要修改集群的成員配置文件(cluster.nodes),如果數據節點位于新的物理服務器上,那么還需要部署一個新的代理節點(agent.cfg)來負責新物理機上節點的啟停,然后重啟控制節點來加載新的數據節點。當新的數據節點啟動后,節點的計算能力會即時納入集群的計算資源統籌,但是已經存儲在集群中的數據不會調整到新的數據節點,系統會將后續新進入的數據按策略分配到各個數據節點。

如果是垂直擴展集群,只需要修改數據節點的配置文件(cluster.cfg),為指定節點的volumes參數增加路徑。

下面將詳細介紹擴展集群的步驟。

1. 集群配置說明

集群部署可以參考教程多物理服務器集群部署。

示例集群有3個數據節點,每個數據節點位于一臺物理服務器上,控制節點位于另外一臺物理服務器上:

控制節點:172.18.0.10
數據節點1:172.18.0.11
數據節點2:172.18.0.12
數據節點3:172.18.0.13

各個配置文件的信息如下:

controller.cfg

cluster.nodes

數據節點1所在物理服務器上的agent.cfg

為了體現擴展后的效果,我們首先在集

群中創建一個分布式數據庫,并寫入數據:

執行完后通過Web的DFS Explorer觀察數據的分布情況:

擴展集群后,我們可以通過追加新的數據來觀察新的節點或存儲是否啟用。

2. 水平擴展

由于業務數據量增大,集群的存儲和計算能力不能滿足要求,現新增一臺服務器,并把它加入原來的集群作為一個新的節點。新增的服務器IP地址為172.18.0.14,采用8804端口號,別名為node4。新增服務器需要部署代理節點,采用8701端口,別名為agent4.

步驟如下:

(1)部署新的代理節點

把DolphinDB的安裝包拷貝至新的服務器,并解壓。在server文件夾下新增config文件夾,并創建agent.cfg,增加以下內容:

(2)修改集群成員配置

到控制節點所在的物理服務器,修改config/cluster.nodes,新增集群成員信息。修改后的文件內容為:

(3)重啟集群

Linux環境下,使用命令pkill dolphindb,關閉集群。等待端口資源釋放后,重新啟動controller和各個agent,命令如下:

啟動controller:

啟動agent:

在瀏覽器地址欄中輸入控制節點的IP和端口號,如172.18.0.10:8990,來訪問Web,我們可以看到新增加的代理節點agent4已經啟動,數據節點node4處于關停狀態。

啟動各個節點,集群即可正常使用。

下面我們往集群上的數據庫dfs://scaleout_test_db寫入一些數據,驗證新的數據節點是否已經啟用。

觀察DFS Explorer,可以看到有數據分布到新的節點node4上。

有時候我們會發現,某些數據會遷移到其他節點。這與DolphinDB的recovery機制有關

DolphinDB集群支持數據自動recovery。當系統檢測到集群部分節點長時間沒有心跳時,判定為宕機,將從其他副本中自動恢復數據并且保持整個集群的副本數穩定。這是當某個節點長時間未啟動,數據會發生遷移的原因。DolphinDB的recovery機制和控制節點的以下配置參數有關:

dfsRecoveryWaitTime控制recovery的啟動,如果沒有設置該參數,則關閉recovery功能,默認是關閉狀態。等待時間的設置主要是為了避免一些計劃內的停機維護導致不必要的recovery,需要用戶根據運維的實際情況來設置。

從穩定性上來講,副本數越多數據越不容易因意外丟失,但是副本數過多也會導致系統保存數據時性能低下,所以dfsReplicationFactor的值不建議低于2,但是具體設置多高需要用戶根據整體集群的節點數、數據穩定性需求、系統寫入性能需求來綜合考慮。

dfsReplicaReliabilityLevel在生產環境下建議設置為1,即多個副本位于不同的服務器上。

3. 垂直擴展

假設node3所在的服務器本身的磁盤空間不足,現增加了一塊磁盤,路徑為/dev/disk2,需要把它納入node3的存儲。數據節點的存儲路徑是由配置文件中的volumes參數指定,如果初始集群沒有指定volumes參數,那么默認的存儲路徑

[HomeDir]/DataNodeAlias]/storage,即node3的默認存儲路徑為data/node3/storage。

在控制節點的cluster.cfg文件中加上以下內容:

注意,如果需要在默認路徑后面添加存儲路徑,需要顯式設置默認路徑,否則會造成默認路徑下的元數據丟失。

修改配置后,只需要重啟數據節點,無需重啟控制節點。

下面往集群寫入新的數據,查看數據是否被寫入新的磁盤。

到磁盤上觀察數據是否被寫入:

DolphinDB能支持的數據規模沒有明確的上限,完全取決于投入資源的多少。

作者:DolphinDB
鏈接:https://juejin.cn/post/6909265120283590664
來源:掘金
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

總結

以上是生活随笔為你收集整理的导致集群重启_干货丨如何水平扩展和垂直扩展DolphinDB集群?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。