一種數(shù)據(jù)管理方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于數(shù)據(jù)管理領(lǐng)域,尤其涉及一種數(shù)據(jù)管理方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002] 隨著大數(shù)據(jù)處理技術(shù)的飛速發(fā)展,基于Hadoop的數(shù)據(jù)倉庫工具Hive逐漸成為大 數(shù)據(jù)處理中不可或缺的一環(huán),它可將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡(jiǎn)單 的sql查詢功能,可以將sql語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行;使用Hive,可以存儲(chǔ)、 查詢和分析在Hadoop集群中存放的大規(guī)模數(shù)據(jù)。
[0003] Hive定義了簡(jiǎn)單的類SQL查詢語言,省去了對(duì)要操作的數(shù)據(jù)頻繁編寫MapReduce 的麻煩;但是在實(shí)際應(yīng)用中,存儲(chǔ)Hive元數(shù)據(jù)的元數(shù)據(jù)庫是是存放在一個(gè)集群中的單點(diǎn) MySQL服務(wù)器之上的,一旦在任務(wù)執(zhí)行中該單點(diǎn)MySQL服務(wù)器出現(xiàn)故障,則會(huì)導(dǎo)致整個(gè)任 務(wù)的執(zhí)行失敗以及Hive程序的故障,進(jìn)而產(chǎn)生大量維修以及再次執(zhí)行任務(wù)的時(shí)間,對(duì)使用 Hive的企業(yè)造成巨大的損失。
[0004] 通常解決此單點(diǎn)故障的方法是建立MySQL的高可用組,采用雙機(jī)/多機(jī)同步復(fù)制 備份,但是切換數(shù)據(jù)庫主機(jī)(需要變更IP地址)時(shí),由于操作復(fù)雜需要人工協(xié)助,造成人力 資源浪費(fèi)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提供一種數(shù)據(jù)管理方法、裝置及系統(tǒng),以解決上述問題。
[0006] 本發(fā)明提供一種數(shù)據(jù)管理方法。上述方法包括以下步驟:
[0007] 預(yù)先在應(yīng)用管理節(jié)點(diǎn)與多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)之間增加數(shù)據(jù)控制節(jié)點(diǎn);
[0008] 數(shù)據(jù)控制節(jié)點(diǎn)接收應(yīng)用管理節(jié)點(diǎn)發(fā)送的業(yè)務(wù)操作請(qǐng)求后,訪問對(duì)應(yīng)的元數(shù)據(jù)存儲(chǔ) 節(jié)點(diǎn),獲取訪問數(shù)據(jù)。
[0009] 本發(fā)明還提供一種數(shù)據(jù)管理裝置,包括增加模塊、訪問模塊;其中,所述增加模塊 與所述訪問模塊相連;
[0010] 所述增加模塊,用于預(yù)先在應(yīng)用管理節(jié)點(diǎn)與多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)之間增加數(shù)據(jù)控 制節(jié)點(diǎn)并將增加的數(shù)據(jù)控制節(jié)點(diǎn)信息發(fā)送至所述訪問模塊;
[0011] 所述訪問模塊,用于通過所述數(shù)據(jù)控制節(jié)點(diǎn),訪問對(duì)應(yīng)的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),獲取訪 問數(shù)據(jù)。
[0012] 本發(fā)明還提供一種數(shù)據(jù)管理系統(tǒng),包括應(yīng)用管理節(jié)點(diǎn)、數(shù)據(jù)控制節(jié)點(diǎn)、多個(gè)元數(shù)據(jù) 存儲(chǔ)節(jié)點(diǎn);其中,所述應(yīng)用管理節(jié)點(diǎn)通過所述數(shù)據(jù)控制節(jié)點(diǎn)與所述多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)相 連;
[0013] 所述應(yīng)用管理節(jié)點(diǎn),用于向所述數(shù)據(jù)控制節(jié)點(diǎn)發(fā)送業(yè)務(wù)操作請(qǐng)求;
[0014] 所述數(shù)據(jù)控制節(jié)點(diǎn),用于接收應(yīng)用管理節(jié)點(diǎn)發(fā)送的業(yè)務(wù)操作請(qǐng)求后,訪問對(duì)應(yīng)的 元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),獲取訪問數(shù)據(jù)。
[0015] 所述多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),用于存儲(chǔ)元數(shù)據(jù)。
[0016] 通過以下方案:預(yù)先在應(yīng)用管理節(jié)點(diǎn)與多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)之間增加數(shù)據(jù)控制節(jié) 點(diǎn);數(shù)據(jù)控制節(jié)點(diǎn)接收應(yīng)用管理節(jié)點(diǎn)發(fā)送的業(yè)務(wù)操作請(qǐng)求后,訪問對(duì)應(yīng)的元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn), 獲取訪問數(shù)據(jù),實(shí)現(xiàn)了在不停機(jī)維護(hù)、不更改服務(wù)器地址的前提下,自動(dòng)路由獲取訪問數(shù) 據(jù),提供快捷、安全、可靠的自動(dòng)訪問元數(shù)據(jù)的解決方案。
[0017] 通過以下方案:若主元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)發(fā)生故障,則按照預(yù)設(shè)切換策略,切換至對(duì)應(yīng) 的從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn);所述數(shù)據(jù)控制節(jié)點(diǎn)訪問對(duì)應(yīng)的從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),獲取訪問數(shù)據(jù),實(shí) 現(xiàn)了在主元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)發(fā)生故障時(shí),自動(dòng)獲取數(shù)據(jù)的過程,減少了人工操作過程,提升了 數(shù)據(jù)庫管理人員的工作效率。
【附圖說明】
[0018] 此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0019] 圖1所示為本發(fā)明實(shí)施例1的數(shù)據(jù)管理方法處理流程圖;
[0020] 圖2所示為本發(fā)明實(shí)施例2的數(shù)據(jù)管理裝置結(jié)構(gòu)圖;
[0021] 圖3所示為本發(fā)明實(shí)施例3的數(shù)據(jù)管理系統(tǒng)結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0022] 下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突的 情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0023] 圖1所示為本發(fā)明實(shí)施例1的數(shù)據(jù)管理方法處理流程圖,包括以下步驟:
[0024] 步驟101 :預(yù)先在應(yīng)用管理節(jié)點(diǎn)與多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)之間增加數(shù)據(jù)控制節(jié)點(diǎn);
[0025] 進(jìn)一步地,應(yīng)用管理節(jié)點(diǎn)為Hive節(jié)點(diǎn)、數(shù)據(jù)控制節(jié)點(diǎn)為MySQL fabric節(jié)點(diǎn)。
[0026] 本實(shí)施例以數(shù)據(jù)控制節(jié)點(diǎn)即MySQL fabric節(jié)點(diǎn)的高可用性特征來替代傳統(tǒng)的 MySQL多節(jié)點(diǎn)實(shí)現(xiàn)高可用方案,在Hive節(jié)點(diǎn)與多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)之間添加MySQL fabric 節(jié)點(diǎn),來統(tǒng)一管理存放Hive元數(shù)據(jù)的多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),以此實(shí)現(xiàn)高效且易于管理Hive 元數(shù)據(jù)的元數(shù)據(jù)庫高可用組。
[0027] 所述多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)構(gòu)成元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)集群,也可以根據(jù)規(guī)劃,劃分為多 個(gè)集群;在元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)集群中,選擇一個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)為主元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),其它的 元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)為從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)。
[0028] 進(jìn)一步地,預(yù)先在應(yīng)用管理節(jié)點(diǎn)與多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)之間增加數(shù)據(jù)控制節(jié)點(diǎn)之 前,還包括:
[0029] 對(duì)所述多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)庫配置,其中,所述數(shù)據(jù)庫中存儲(chǔ)Hive元數(shù) 據(jù)。
[0030] 在具體實(shí)施過程中,通過對(duì)數(shù)據(jù)庫中的my. cnf配置文件的配置參數(shù)進(jìn)行設(shè)置,從 而獲得主元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)。
[0031] 進(jìn)一步地,預(yù)先在應(yīng)用管理節(jié)點(diǎn)與多個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)之間增加數(shù)據(jù)控制節(jié)點(diǎn) 后,還包括:
[0032] 數(shù)據(jù)控制節(jié)點(diǎn)獲取各個(gè)元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)中的配置文件中的配置參數(shù)信息;其中, 所述配置參數(shù)信息包括:元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)ID、元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)端口號(hào)、元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)中 數(shù)據(jù)庫的用戶名、密碼。
[0033] 步驟102 :數(shù)據(jù)控制節(jié)點(diǎn)接收應(yīng)用管理節(jié)點(diǎn)發(fā)送的業(yè)務(wù)操作請(qǐng)求后,訪問對(duì)應(yīng)的 元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),獲取訪問數(shù)據(jù)。
[0034] 進(jìn)一步地,數(shù)據(jù)控制節(jié)點(diǎn)接收應(yīng)用管理節(jié)點(diǎn)發(fā)送的業(yè)務(wù)操作請(qǐng)求后,訪問對(duì)應(yīng)的 元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),獲取訪問數(shù)據(jù)的過程為:
[0035] 應(yīng)用管理節(jié)點(diǎn)接收業(yè)務(wù)操作請(qǐng)求后,轉(zhuǎn)發(fā)所述業(yè)務(wù)操作請(qǐng)求至所述數(shù)據(jù)控制節(jié) 占.
[0036] 所述數(shù)據(jù)控制節(jié)點(diǎn)訪問對(duì)應(yīng)的主元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),獲取訪問數(shù)據(jù)。
[0037] 進(jìn)一步地,所述業(yè)務(wù)操作請(qǐng)求包括數(shù)據(jù)查詢請(qǐng)求、數(shù)據(jù)添加請(qǐng)求、數(shù)據(jù)刪除請(qǐng)求。
[0038] 進(jìn)一步地,若主元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)發(fā)生故障,則按照預(yù)設(shè)切換策略,切換至對(duì)應(yīng)的從 元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn);
[0039] 所述數(shù)據(jù)控制節(jié)點(diǎn)訪問對(duì)應(yīng)的從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn),獲取訪問數(shù)據(jù)。
[0040] 進(jìn)一步地,若主元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)、所有從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)均發(fā)生故障,則無法進(jìn)行 切換并重新維護(hù)從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)。
[0041] 進(jìn)一步地,若主元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)、部分從元數(shù)據(jù)存儲(chǔ)節(jié)點(diǎn)