本公開涉及通信的,具體而言,涉及一種集群數據均衡的方法、裝置、電子設備及介質。
背景技術:
1、elasticsearch是一種分布式、高擴展、高實時的數據分析引擎,能夠執行多種文檔類型的搜索,搜索方式多種多樣,elasticsearch的集群獲取到的數據信息是基于倒排索引,還帶有自動遷移分片的功能,可以滿足日常分片遷移的需求,能進行大量數據的存儲和數據查詢處理,以供后續調用相關數據。
2、相關技術中,根據集群第一節點的索引信息,預估目標數據的數據量,并構建索引分片數量模型,計算每個索引可放置的分片數量,調整索引參數擴大每個索引可放置的第一節點數量,從而擴大可放置的分片數量,并根據集群第一節點的負載性能對熱分片進行遷移。然而,目標集群自動遷移分片后,構建的索引數量模型會被打亂,會造成集群不穩定,不能擴大每個索引可放置的分片數量,會導致單個數據第一節點的分片數量過大,不能完成熱分片的遷移,造成集群寫入延遲,不能讀取寫入的數據信息。
技術實現思路
1、本公開實施例至少提供一種集群數據均衡的方法、裝置、電子設備及介質。
2、第一方面,本公開實施例提供了一種集群數據均衡的方法,包括:
3、獲取目標集群的索引信息和集群信息;
4、基于所述集群信息確定所述目標集群的第一分片信息;其中,所述第一分片信息用于指示所述目標集群的第一節點數量和第一節點的分片數量;
5、基于所述第一分片信息在所述目標集群中確定待遷移分片,并按照所述待遷移分片的遷移信息對所述待遷移分片進行遷移處理;其中,所述待遷移分片包括第一分片和/或第二分片,所述第一分片為所述目標集群的第一節點中正在執行數據寫入操作的分片,所述第二分片為所述目標集群的第一節點中未執行數據寫入操作的分片。
6、一種可選的實施方式中,所述基于所述第一分片信息在所述目標集群中確定所述待遷移分片,包括:
7、基于所述第一分片信息確定第一分片數值和第二分片數值;其中,所述第一分片數值用于指示所述目標集群中第一節點所包含分片的最大值,所述第二分片數值用于指示所述目標集群中第一節點所包含分片的最小值;
8、在根據所述第一分片數值和所述第二分片數值之間的目標差值確定所述目標集群滿足分片遷移條件的情況下,基于所述第一分片信息在所述目標集群中確定所述待遷移分片。
9、一種可選的實施方式中,所述基于所述第一分片信息在所述目標集群中確定所述待遷移分片,并按照所述待遷移分片的遷移信息對所述待遷移分片進行遷移處理,包括:
10、基于所述第一分片信息在所述目標集群中確定所述第一分片;
11、在按照所述第一分片的遷移信息對所述第一分片進行遷移處理之后,獲取所述目標集群的第二分片信息,并基于所述第二分片信息確定所述目標集群是否滿足數據均衡要求;其中,所述第二分片信息用于指示對所述第一分片進行遷移處理之后所述目標集群的第一節點數量和第一節點的分片數量;
12、如果確定所述目標集群不滿足數據均衡要求,則基于所述第二分片信息確定所述第二分片,并按照所述第二分片的遷移信息對所述第二分片進行遷移處理。
13、一種可選的實施方式中,所述基于所述第一分片信息在所述目標集群中確定所述第一分片,包括:
14、確定所述目標集群中第一備選分片的第一數據總量;其中,所述第一備選分片為所述目標集群中正在執行數據寫入操作的全部分片;
15、基于所述第一數據總量和所述第一分片信息中的第一節點數量,計算所述第一節點中的第一估計值和該第一節點的偏移量;
16、基于所述第一估計值和所述第一數據總量,得到所述第一節點的第一均衡值;其中,所述第一均衡值用于指示從第一備選分片中選擇出該第一節點的第一分片的數量;
17、基于各個所述第一節點的第一均衡值和偏移量,在多個所述第一節點中確定所述第一分片。
18、一種可選的實施方式中,所述基于各個所述第一節點的第一均衡值和偏移量,在多個所述第一節點中確定所述第一分片,包括:
19、在基于所述偏移量確定所述第一節點滿足分片篩選條件的情況下,確定該第一節點的第一均衡值是否為正數;
20、在確定該第一節點的第一均衡值為正數的情況下,按照所述第一備選分片的數據量對該第一節點中的備選分片進行拆分,得到滿足第一均衡條件的多個該第一節點的第一備選分片組;
21、在所述第一備選分片組中確定多個該第一節點的第一分片。
22、一種可選的實施方式中,所述按照所述第一分片的遷移信息對所述第一分片進行遷移處理,包括:
23、在所述目標集群中確定第二節點;其中,所述第二節點為所述目標集群中除所述第一節點之外的其他節點;
24、在確定所述第二節點的第一均衡值為負數的情況下,根據所述第一節點的第一備選分片組,確定滿足第二均衡條件的第二節點;
25、基于所述滿足第二均衡條件的第二節點確定所述第一節點的第一分片的目的節點,得到所述第一分片的遷移信息,并向所述目的節點遷移所述第一節點的第一分片。
26、一種可選的實施方式中,所述按照所述第一分片的遷移信息對所述第一分片進行遷移處理,包括:
27、基于所述遷移信息確定所述第一節點的第一分片的目的節點,并獲取所述目的節點的第一磁盤負載信息;
28、基于所述第一磁盤負載信息,按照第一規則進行評分,得到所述目的節點的評分結果;
29、基于所述評分結果確定每個所述第一節點中第一分片的遷移順序;
30、按照所述遷移順序和所述遷移信息,對每個所述第一節點中的第一分片進行遷移處理。
31、一種可選的實施方式中,所述基于所述第二分片信息確定所述第二分片,包括:
32、根據所述第二分片信息,確定所述目標集群中第二備選分片的第二數據總量;其中,所述第二備選分片為所述目標集群中未執行數據寫入操作的全部分片;
33、基于所述第二數據總量和所述第二分片信息中的第一節點數量,計算所述第一節點中第二備選分片的第二估計值;
34、基于所述第二估計值和所述第二數據總量,得到所述第一節點的第二均衡值;其中,所述第二均衡值用于指示從該第一節點的第二備選分片中所選擇出第二分片的數量;
35、基于所述第二均衡值確定每個所述第一節點中的第二分片。
36、一種可選的實施方式中,所述按照所述第二分片的遷移信息對所述第二分片進行遷移處理,包括:
37、根據所述目標集群的接口,查詢每個所述第一節點中的所述第二分片,并確定每個所述第一節點中第二分片的目的節點;
38、將每個所述第一節點中的第二分片遷移至對應的目的節點。
39、一種可選的實施方式中,在基于所述第一分片信息在所述目標集群中確定所述第一分片之后,所述方法還包括:
40、停止向所述目標集群中的節點執行數據寫入操作,并切換至向所述目標集群的備用集群中的節點執行數據寫入操作。
41、一種可選的實施方式中,在按照所述第二分片的遷移信息對所述第二分片進行遷移處理之后,所述方法還包括:
42、停止向所述備用集群中的節點執行數據寫入操作;
43、切換至向所述目標集群中的節點執行數據寫入操作,并將寫入至所述備用集群中的數據轉存至所述目標集群中。
44、第二方面,本公開實施例提供了一種集群數據均衡的裝置,包括:
45、獲取單元,用于獲取目標集群的索引信息和集群信息;
46、確定單元,用于基于所述集群信息確定所述目標集群的第一分片信息;其中,所述第一分片信息用于指示所述目標集群的第一節點數量和第一節點的分片數量;
47、遷移單元,用于基于所述第一分片信息在所述目標集群中確定待遷移分片,并按照所述待遷移分片的遷移信息對所述待遷移分片進行遷移處理;其中,所述待遷移分片包括第一分片和/或第二分片,所述第一分片為所述目標集群的第一節點中正在執行數據寫入操作的分片,所述第二分片為所述目標集群的第一節點中未執行數據寫入操作的分片。
48、第三方面,本公開實施例還提供一種電子設備,包括:處理器、存儲器和總線,所述存儲器存儲有所述處理器可執行的機器可讀指令,當電子設備運行時,所述處理器與所述存儲器之間通過總線通信,所述機器可讀指令被所述處理器執行時執行上述第一方面,或第一方面中任一種可能的實施方式中的步驟。
49、第四方面,本公開實施例還提供一種計算機可讀存儲介質,該計算機可讀存儲介質上存儲有計算機程序,該計算機程序被處理器運行時執行上述第一方面,或第一方面中任一種可能的實施方式中的步驟。
50、在本技術實施例中,首先,獲取目標集群的索引信息和集群信息,根據該索引信息確定目標集群的第一分片信息,之后,根據該第一分片信息在目標集群中確定待遷移分片,并按照待遷移分片的遷移信息對待遷移分片進行遷移處理。
51、上述實施方式中,通過對待遷移分片進行遷移處理,可以均衡目標集群中每個節點的分片數量,實現每個節點的分片都可以正常存儲索引信息,從而提高目標集群的穩定性和目標集群的存儲量,同時可根據索引信息查詢寫入目標集群的數據信息,進而提高讀取目標集群中的數據信息的速度。
52、為使本公開的上述目的、特征和優點能更明顯易懂,下文特舉較佳實施例,并配合所附附圖,作詳細說明如下。