Hadoop大數據存算分離下如何解決新舊存儲共存,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創新互聯公司專注于慶城網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供慶城營銷型網站建設,慶城網站制作、慶城網頁設計、慶城網站官網定制、小程序設計服務,打造慶城網絡公司原創品牌,更為您提供慶城網站排名全網營銷落地服務。在傳統的Apache Hadoop集群系統中,計算和存儲資源是緊密耦合的,HDFS為大數據存儲帶來便利的同時,也面臨著一些挑戰:
當存儲空間或計算資源不足時,只能同時對兩者進行擴容。假設用戶對存儲資源的需求遠大于對計算資源的需求,那么同時擴容計算和存儲后,新擴容的計算資源就被浪費了,反之,存儲資源被浪費。
這導致擴容的經濟效率較低,額外增加成本。而獨立擴展的計算和存儲則更加靈活,同時可顯著降低成本。
現在Hadoop采用存算分離的架構的趨勢越來越明顯。
XSKY HDFS Client是為XEOS存儲集群和Hadoop計算集群量身打造的連接器。通過XSKY HDFS Client,Hadoop應用可以訪問存儲在XEOS中的所有數據。
但是,在引入XEOS存儲后,會出現原有HDFS與XEOS共存的情況,如何將兩套存儲集群都利用起來是需要解決的問題。
1
數據跨集群拷貝
一般情況下,計算應用需要訪問的數據,如果保存在不同的集群中,那么應該將其中一個集群的數據拷貝到另一個集群上。一般情況下使用Hadoop自帶的DistCp工具,對數據進行跨集群的拷貝。
這種方式雖然在一定程度上可以解決數據合并的問題,但如果數據量比較大,并且機房帶寬有限制的情況下,可能拷貝數據的時間會非常長。還有一個就是在拷貝過程中原始數據發生改動,就還需要考慮增量同步的問題。
2
聯邦HDFS和ViewFS
在Hadoop 2.x發行版中引入了聯邦HDFS功能,期望可以解決NameNode的內存問題。聯邦HDFS允許系統通過添加多個NameNode來實現擴展,其中每個NameNode管理文件系統命名空間中的一部分。
但是,在實際應用中,系統管理員需要維護多個NameNodes(所有NameNode都需要高可用)和負載均衡服務,這又增加了管理成本。所以HDFS的聯邦方案并沒有被生產環境所采用。
在提供聯邦HDFS方案同時,Hadoop 2.x還提供了ViewFS,用來管理所有多個命名空間視圖。
雖然聯邦HDFS方案并沒有被大規模應用,但ViewFS卻可以用來解決XEOS與HDFS共存問題。
03
ViewFS的實現
ViewFS全稱是ViewFileSystem,它不是一個新的文件系統,只是邏輯上的一個視圖文件系統,它實現了標準的Hadoop FileSystem接口。但是,真實的請求處理還是在各自真實的存儲集群上。
ViewFS會維護一個mount-table,主要是viewfs的邏輯目錄與實際底層存儲的映射關系。在接收到應用的調用時,ViewFS會解析用戶的訪問請求,并通過mount-table找到對應的底層存儲目錄,轉發相應的請求到底層存儲。
ViewFS會把所有應用層的FileSystem調用透傳到底層真實文件系統中。由于ViewFs實現了Hadoop文件系統接口,因此使用它透明地運行Hadoop工具。例如,所有shell命令都可以與HDFS和本地文件系統一起使用ViewFS。
在集群的core-site配置中,fs.defaultFS被設置為ViewFS的root目錄,也就是指定的mount-table。
在集群的配置中增加ViewFS的mount-table配置,示例如下:
Hadoop系統將在Hadoop配置文件中查找名稱為 “ClusterX” 的mount-table。將所有gateway和server配置包含“ClusterX”,如上示例。
4
ViewFS的應用場景
ViewFS可以在如下場景中使用:
非結構化的原始數據可以通過DistCp等工具直接存儲在XEOS上,業務數據庫結構化數據和應用買點數據可以通過ETL以Hive的外部表方式存儲到XEOS中。HBase和Hive繼續在原有的HDFS上面運行,也就是HBase表數據和Hive內部表數據仍然通過HDFS來存儲。
這樣的好處是海量非結構化數據,甚至是海量小文件都可以用XEOS來承載,減輕HBase的壓力,同時Hive新增數據全部通過XEOS來存儲,后續擴容容量僅擴展XEOS存儲集群即可。
5
XEOS配置ViewFS
大數據平臺基于CDH 6.3.2。HDFS core-site.xml 增加如下配置:
Hadoop FS命令行:
執行wordcount測試結果如下:
XSKY通過ViewFS的方式,在不改變用戶使用習慣的前提下,將原有HDFS數據與新增XEOS數據打通,解決了原有HDFS集群與新XEOS集群的共存問題。原有的HDFS數據可以繼續使用,而XEOS可以用于承載新生成的數據。
這種方式不僅可以充分利用舊有設備,達到節約成本的目的。同時,能夠借助XEOS橫向擴展能力,實現存儲單獨擴容。
關于Hadoop大數據存算分離下如何解決新舊存儲共存問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯-成都網站建設公司行業資訊頻道了解更多相關知識。
分享文章:Hadoop大數據存算分離下如何解決新舊存儲共存-創新互聯
文章鏈接:http://m.newbst.com/article42/dchihc.html
成都網站建設公司_創新互聯,為您提供Google、營銷型網站建設、服務器托管、用戶體驗、定制開發、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯