基于虛擬化與分布式技術的存儲系統
(2)替換hadoop-xxxx-core.jar版本
由于hadoop有自己的rpc遠程調用實現,并且各個版本間可能不兼容(0.17.X與0.18.x之間就不兼容),所以需要將WEB-INF/lib/ha doop-XXXX-core.jar的版本與NameNode Server的版本一致,現war自帶的是hadoop-0.18.1-core.jar的版本。
(3)部署至tomcat
以上修改完,將war包部署至tomcat或是jboss中,部署在其它服務器中時需要tomcat的catalina.jar與tomcat-coyote.jar,拷貝至WEB-INF/lib目錄,因為現在項目是從tomcat的WebdavServlet中修改而來的。
(4)測試是否部署成功
訪問http://localhost:8080/hdfs-webdav
第三步:webdav客戶端訪問
實現webdav的hdfs可以映射為windows或是linux本地文件夾。
(1)window網上鄰居訪問
打開“網上鄰居”,添加網上鄰居,在“請鍵入網上鄰居的位置”中輸入Web文件夾的URL。
http://loealhost:8080/hdfs-webdav
然后按照向導的提示繼續下一步就可以了。
(2)Linux mount WebDav為本地文件系統
linux下想要mount WebDAV server為本地文件系統,必須要使用davfs2,項目網址為http://day.sourceforge.net/。
安裝davfs2請使用編譯安裝。
davfs2編譯時依賴于neon,neon是一個WebDAV client library.neon網址為http://www.webdav.org/neon/。
dsvfs2在mount時會使用fuse或是coda這兩個文件系統,其中一個文件系統linux一般都有自帶,davfs2在mount時會首先嘗試使用fuse,失敗時再使用coda。
但在CentOs中使用coda時發生如下錯誤,所以后面安裝fuse,fuse網址為http://fuse.sourceforge.net/。
/sbin/mount.davfs:no free coda device to mount
/sbin/mount.davfs:trying fuse kernel file system
/sbin/mount.davfs:can't open fuse device
(3)neon,davfs2,fuse編譯安裝
項目的linux_mount_lib目錄自帶如下三個包:
①運行./configure;
②運行make;
③運行make install。
運行davfs2的mount命令
在mount之前,davfs2需要創建davfs2用戶及用戶組
[root@datacenter5 usr]# mkdir/data/hdfs
[root@datacenter5 usr]# groupadd davfs2
[root@datacenter5 usr]# useradd-g davfs2 davfs2
[root@datacenter5 usr]# mount.davfshttp://192.168.55.104:8080/hdfs-webdav/data/hdfs
3 系統應用拓補分析
基于服務器虛擬化(VMware)系統,制作出的云存儲陣列,其中云主機控制云系統內的服務器集群,進行數據的寫入與讀出,由云主機提供的API接口(主要是WebDAV協議,也可采用其他協議)進行與客戶應用服務器之間的數據存儲、數據備災、數據應用,這樣能夠盡可能地利用云的效率,如圖2所示。本文引用地址:http://www.104case.com/article/148960.htm
在圖2中,系統應用主要分為存儲服務與應用服務兩部分。存儲服務主要以Hadoop系統為主,通過應用服務中的局域網DNS構建頭節點與存儲節點關系。WebDAV部署在頭節點服務器上,通過建立映射可在Windows或Linux系統上建立本地文件夾,從而實現為應用服務器提供存儲服務功能。
4 結論
本系統通過集群應用、網格技術或分布式文件系統等功能,將網絡中大量各種不同類型的存儲設備通過應用軟件集合起來協同工作,共同對外提供數據存儲和業務訪問功能。通過虛擬化技術將iSCSI與云存儲系統結合,為大型企業和機構提供異地數據存儲服務,并且通過云存儲系統平臺為企業提供跨平臺服務應用解決方案,實現了部署靈活、可擴展性和安全性高的特點,從而降低了數據存儲、應用和維護成本。
評論