Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存-創(chuàng)新互聯(lián)

Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)公司專注于慶城網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供慶城營銷型網(wǎng)站建設,慶城網(wǎng)站制作、慶城網(wǎng)頁設計、慶城網(wǎng)站官網(wǎng)定制、小程序設計服務,打造慶城網(wǎng)絡公司原創(chuàng)品牌,更為您提供慶城網(wǎng)站排名全網(wǎng)營銷落地服務。

在傳統(tǒng)的Apache Hadoop集群系統(tǒng)中,計算和存儲資源是緊密耦合的,HDFS為大數(shù)據(jù)存儲帶來便利的同時,也面臨著一些挑戰(zhàn):

當存儲空間或計算資源不足時,只能同時對兩者進行擴容。假設用戶對存儲資源的需求遠大于對計算資源的需求,那么同時擴容計算和存儲后,新擴容的計算資源就被浪費了,反之,存儲資源被浪費。

這導致擴容的經(jīng)濟效率較低,額外增加成本。而獨立擴展的計算和存儲則更加靈活,同時可顯著降低成本。

現(xiàn)在Hadoop采用存算分離的架構的趨勢越來越明顯。

XSKY HDFS Client是為XEOS存儲集群和Hadoop計算集群量身打造的連接器。通過XSKY HDFS Client,Hadoop應用可以訪問存儲在XEOS中的所有數(shù)據(jù)。

但是,在引入XEOS存儲后,會出現(xiàn)原有HDFS與XEOS共存的情況,如何將兩套存儲集群都利用起來是需要解決的問題。

1

數(shù)據(jù)跨集群拷貝

一般情況下,計算應用需要訪問的數(shù)據(jù),如果保存在不同的集群中,那么應該將其中一個集群的數(shù)據(jù)拷貝到另一個集群上。一般情況下使用Hadoop自帶的DistCp工具,對數(shù)據(jù)進行跨集群的拷貝。

這種方式雖然在一定程度上可以解決數(shù)據(jù)合并的問題,但如果數(shù)據(jù)量比較大,并且機房帶寬有限制的情況下,可能拷貝數(shù)據(jù)的時間會非常長。還有一個就是在拷貝過程中原始數(shù)據(jù)發(fā)生改動,就還需要考慮增量同步的問題。

2

聯(lián)邦HDFS和ViewFS

在Hadoop 2.x發(fā)行版中引入了聯(lián)邦HDFS功能,期望可以解決NameNode的內存問題。聯(lián)邦HDFS允許系統(tǒng)通過添加多個NameNode來實現(xiàn)擴展,其中每個NameNode管理文件系統(tǒng)命名空間中的一部分。

但是,在實際應用中,系統(tǒng)管理員需要維護多個NameNodes(所有NameNode都需要高可用)和負載均衡服務,這又增加了管理成本。所以HDFS的聯(lián)邦方案并沒有被生產(chǎn)環(huán)境所采用。

Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存

在提供聯(lián)邦HDFS方案同時,Hadoop 2.x還提供了ViewFS,用來管理所有多個命名空間視圖。

Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存

雖然聯(lián)邦HDFS方案并沒有被大規(guī)模應用,但ViewFS卻可以用來解決XEOS與HDFS共存問題。

03

ViewFS的實現(xiàn)

ViewFS全稱是ViewFileSystem,它不是一個新的文件系統(tǒng),只是邏輯上的一個視圖文件系統(tǒng),它實現(xiàn)了標準的Hadoop FileSystem接口。但是,真實的請求處理還是在各自真實的存儲集群上。

Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存

ViewFS會維護一個mount-table,主要是viewfs的邏輯目錄與實際底層存儲的映射關系。在接收到應用的調用時,ViewFS會解析用戶的訪問請求,并通過mount-table找到對應的底層存儲目錄,轉發(fā)相應的請求到底層存儲。

ViewFS會把所有應用層的FileSystem調用透傳到底層真實文件系統(tǒng)中。由于ViewFs實現(xiàn)了Hadoop文件系統(tǒng)接口,因此使用它透明地運行Hadoop工具。例如,所有shell命令都可以與HDFS和本地文件系統(tǒng)一起使用ViewFS。

在集群的core-site配置中,fs.defaultFS被設置為ViewFS的root目錄,也就是指定的mount-table。

在集群的配置中增加ViewFS的mount-table配置,示例如下:

Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存

Hadoop系統(tǒng)將在Hadoop配置文件中查找名稱為 “ClusterX” 的mount-table。將所有gateway和server配置包含“ClusterX”,如上示例。

4

ViewFS的應用場景

ViewFS可以在如下場景中使用:

Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存

非結構化的原始數(shù)據(jù)可以通過DistCp等工具直接存儲在XEOS上,業(yè)務數(shù)據(jù)庫結構化數(shù)據(jù)和應用買點數(shù)據(jù)可以通過ETL以Hive的外部表方式存儲到XEOS中。HBase和Hive繼續(xù)在原有的HDFS上面運行,也就是HBase表數(shù)據(jù)和Hive內部表數(shù)據(jù)仍然通過HDFS來存儲。

這樣的好處是海量非結構化數(shù)據(jù),甚至是海量小文件都可以用XEOS來承載,減輕HBase的壓力,同時Hive新增數(shù)據(jù)全部通過XEOS來存儲,后續(xù)擴容容量僅擴展XEOS存儲集群即可。

5

XEOS配置ViewFS

大數(shù)據(jù)平臺基于CDH 6.3.2。HDFS core-site.xml 增加如下配置:

Hadoop FS命令行:

執(zhí)行wordcount測試結果如下:

Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存

XSKY通過ViewFS的方式,在不改變用戶使用習慣的前提下,將原有HDFS數(shù)據(jù)與新增XEOS數(shù)據(jù)打通,解決了原有HDFS集群與新XEOS集群的共存問題。原有的HDFS數(shù)據(jù)可以繼續(xù)使用,而XEOS可以用于承載新生成的數(shù)據(jù)。

這種方式不僅可以充分利用舊有設備,達到節(jié)約成本的目的。同時,能夠借助XEOS橫向擴展能力,實現(xiàn)存儲單獨擴容。

關于Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道了解更多相關知識。

分享文章:Hadoop大數(shù)據(jù)存算分離下如何解決新舊存儲共存-創(chuàng)新互聯(lián)
文章鏈接:http://muchs.cn/article42/dchihc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供Google、營銷型網(wǎng)站建設、服務器托管、用戶體驗定制開發(fā)、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司