亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于Hadoop分布式計算平臺的非結構化數據存儲系統(tǒng)的制作方法

文檔序號:9261370閱讀:1155來源:國知局
基于Hadoop分布式計算平臺的非結構化數據存儲系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及信息技術處理領域,具體涉及一種基于Hadoop分布式計算平臺的非結構化數據存儲系統(tǒng)。
【背景技術】
[0002]在非結構化數據存儲中我們主要考慮的是大數據的存儲,雖然現行的商業(yè)平臺也能滿足非結構化數據的存儲,但問題主要出在系統(tǒng)可擴展性和建設費用上。對于龐大的非結構化數據存儲產生的I/o瓶頸問題和昂貴的服務器價格不得不使我們另謀出路

【發(fā)明內容】

[0003]本發(fā)明的目的為了解決上述問題,提供了一種基于Hadoop分布式計算平臺的非結構化數據存儲系統(tǒng),其可以選擇普通的PC機器作為數據節(jié)點,這大大的降低了存儲數據所需要昂貴存儲設備價格,并且在數據存儲過程中,HDFS擁有很好的數據容災機制。
[0004]為實現上述目的,本發(fā)明提供一種基于Hadoop分布式計算平臺的非結構化數據存儲系統(tǒng),包括以下步驟:
[0005]S1:客戶端通過調用HDFS類DistributedFileSystem對象調用create O函數在文件系統(tǒng)的命名空間中創(chuàng)建了一個新文件,該新文件還沒有相應的數據塊;
[0006]S2:namenode執(zhí)行檢查確保當前創(chuàng)建的文件還不存在并且客戶端有創(chuàng)建該文件的權限,檢查通過則創(chuàng)建新文件記錄,若檢查不通過則文件創(chuàng)建失敗并拋出異常;
[0007]S3:客戶端在給創(chuàng)建的新文件寫入非結構化數據時,非結構化數據被分成一個個的數據包,并寫入內部隊列,HDFS的DataStreamer處理數據隊列,根據datanode的隊列列表要求namenode分配適合的新塊來存儲數據備份。
[0008]進一步的,所述步驟S3中的創(chuàng)建文件都存儲為一系列的塊,在同一文件中除最后一塊以外其它所有塊的大小都一樣。
[0009]進一步的,所述文件的塊都通過復制來保證容錯,所述文件的塊的大小和復制因子均可以配置,MapReduce程序可指定文件復制的次數,復制因子可以在文件創(chuàng)建時指定,也可以在文件創(chuàng)建后指定。
[0010]進一步的,名字節(jié)點根據塊復制狀態(tài)做出所有決定,它會周期的收到來自集群內數據結點的心跳和塊報告。
[0011]進一步的,namenode在運行客戶端的節(jié)點上放第一個復本,第二個復本放在與第一個不同且隨機另外選擇的機架中的節(jié)點上,第三個復本放在與第二個復本相同的機架,且隨機選擇另外一個節(jié)點,其他復本放在集群中隨機選擇的節(jié)點上。
[0012]進一步的,非結構化數據第一次引入系統(tǒng)時計算校驗和,并在數據通過一個不可靠的通道進行傳輸時再次計算校驗和,這樣就能發(fā)現數據是否損壞,若計算所得的新校驗和原來的校驗和不匹配,則認為該非結構化數據已損壞。
[0013]進一步的,客戶端從datanode讀取數據時也會驗證校驗和,將他們與datanode中存儲的校驗和進行比較,每個datanode都持久保存有一個用于驗證校驗和日志,所以它知道每個數據塊最后校驗時間,客戶端成功校驗數據后,會告訴這個datanode,這個datanode由此更新日志。
[0014]進一步的,客戶端讀取數據塊時,如果檢測到錯誤,就向namenode報告已損壞的數據塊及其正在嘗試讀取操作的這個datanode ;namenode將這個已損壞的數據塊標記為已損壞,同時將已損壞的副本備份到其他塊后,從其他復本進行讀取數據。
[0015]進一步的,HDFS的命名空間存儲在名字節(jié)點上,名字結點使用叫做“編輯日志”的事務日志來持久化記錄文件系統(tǒng)元數據的每次變化
[0016]本發(fā)明具有以下有益效果:Had00p的分布式文件系統(tǒng)HDFS出現恰好解決了商業(yè)平臺中的1/0瓶頸和服務器價格昂貴問題。Hadoop的優(yōu)勢體現在以下幾個方面:
[0017]DHadoop依賴于低端服務器甚至是普通計算機,相對于商業(yè)平臺的高昂成本,它的成本要低得多,幾乎可以說任何人都可以使用它,哪怕是信息化成本預算較少的小微企業(yè);
[0018]2) HDFS與Map/Reduce緊密集成是Hadoop分布式計算的存儲基石。它有自己明確的設計目標那就是支持大的數據文件大至T級,并且這些文件以順序讀取為主,以文件存/讀的高吞吐量為目標。在使用HDFS分布式文件系統(tǒng)存儲非結構化文件后,將提高我們系統(tǒng)的存儲文件速度;
[0019]3)HDFS的數據恢復能力也保證了系統(tǒng)的安全可靠性,可靠性體現在它假設計算元素和存儲會失敗,因此它維護多個工作數據副本,確保能夠針對失敗的節(jié)點重新分布處理。
[0020]4)同時支持存儲節(jié)點的熱插拔和可以在普通PC機上存儲非結構化文件,這不但提高了系統(tǒng)的擴展靈活性,還大大降低了企業(yè)在硬件方面的投入。
【附圖說明】
[0021]為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0022]圖1為本發(fā)明步驟流程圖。
【具體實施方式】
[0023]下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0024]參見圖1,本發(fā)明提供本發(fā)明提供一種基于Hadoop分布式計算平臺的非結構化數據存儲系統(tǒng),包括以下步驟:
[0025]S1:客戶端通過調用HDFS類DistributedFileSystem對象調用create O函數在文件系統(tǒng)的命名空間中創(chuàng)建了一個新文件,該新文件還沒有相應的數據塊;
[0026]S2:namenode執(zhí)行檢查確保當前創(chuàng)建的文件還不存在并且客戶端有創(chuàng)建該文件的權限,檢查通過則創(chuàng)建新文件記錄,若檢查不通過則文件創(chuàng)建失敗并拋出異常;
[0027]S3:客戶端在給創(chuàng)建的新文件寫入非結構化數據時,非結構化數據被分成一個個的數據包,并寫入內部隊列,HDFS的DataStreamer處理數據隊列,根據datanode的隊列列表要求namenode分配適合的新塊來存儲數據備份。
[0028]進一步的,所述步驟S3中的創(chuàng)建文件都存儲為一系列的塊,在同一文件中除最后一塊以外其它所有塊的大小都一樣。
[0029]進一步的,所述文件的塊都通過復制來保證容錯,所述文件的塊的大小和復制因子均可以配置,MapReduce程序可指定文件復制的次數,復制因子可以在文件創(chuàng)建時指定,也可以在文件創(chuàng)建后指定。
[0030]進一步的,名字節(jié)點根據塊復制狀態(tài)做出所有決定,它會周期的收到來自集群內數據結點的心跳和塊報告。
[0031]進一步的,namenode在運行客戶端的節(jié)點上放第一個復本,第二個復本放在與第一個不同且隨機另外選擇的機架中的節(jié)點上,第三個復本放在與
當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1