基于Hadoop的云盘系统客户端技术选型说明
伴隨云計算技術的發展,云盤系統不斷涌現,百度、360、金山等都推出了各自的云盤產品,而云盤存儲的模式也越來越被用戶所接受,也有越來越多的公司躍躍欲試,想在云存儲領域大展拳腳,有一番作為。但是開源Hadoop平臺實現語言Java和操作系統Linux的限制,Windows用戶桌面版云盤客戶端的開發成為了一道不可逾越的屏障。
傳統桌面軟件開發最適合的語言是C/C++體系(不排斥非主流VB、Delphi、C#,有興趣的可自行研究),云盤系統的客戶端也是針對最廣大的Windows桌面用戶設計,最基本的要求是沒要求,傻瓜式。所以如何基于開源的Hadoop云計算平臺,開發云盤系統客戶端的問題就轉化為如何使用C/C++(或其相類語言)開發云盤客戶端的問題。
Hadoop提供的客戶端開發接口包括Fuse、libhdfs、Java、thrift、webhdfs等。這幾種接口中,Fuse是掛載式,適合在Linux/Unix類本地管理hadoop文件,從HDFS提供的Shell管理腳本對比的角度來看,使用意義不大;libhdfs適用于Linux/Unix服務端訪問HDFS存儲空間,不能應用于Windows桌面終端軟件的開發;Java接口,由于Java虛擬機的限制,制作的桌面軟件以來域Java的JDK,需要安裝配置JDK相關環境變量,不符合Windows桌面程序常用習慣;Thrift是一個不錯選擇,其原理是代理模式,在Hadoop服務器端啟動ThriftServer支持,在客戶端通過客戶端庫訪問ThrfitServer從而實現對hdfs分布式文件存儲系統的訪問,這是一個不錯的選擇,作為開發者也可以自行擴展ThriftServer的功能;最后還有一種選擇就是自行開發服務端代理,在服務器端通過libhdfs或者Java API進行開發,條件是你必須十分熟悉HDFS系統接口和技術框架體系。
本文作者在開源社區上傳了一套針對Windows用戶、基于thrift的開發庫,有興趣的可自行下載:
https://sourceforge.net/projects/libhdfs4win/
?
總結
以上是生活随笔為你收集整理的基于Hadoop的云盘系统客户端技术选型说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS中用top命令CPU负载
- 下一篇: [C#]手把手教你打造Socket的TC