<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    badqiu

    XPer
    隨筆 - 46, 文章 - 3, 評論 - 195, 引用 - 0
    數據加載中……

    擴展hadoop hdfs,實現WebDav協議,將hdfs mount為linux本地文件系統

    使用hadoop的shell命令進行hdfs的操作十分不方便,最好的辦法當然是將hdfs映射為本地文件系統. 而通過實現WebDav Http協議, ?結合WebDav的眾多客戶端,可以將hdfs映射為windows或是linux的本地文件系統.而使用api存儲文件時,也將對應用透明,如使用本地文件系統一樣使用hdfs. 這個特性hadoop也正在開發之中,還未完成,jira 地址: https://issues.apache.org/jira/browse/HADOOP-496

    ?


    1.Webdav協議介紹:
    WebDAV(Web-based Distributed Authoring and Versioning)是基于 HTTP 1.1 的一個通信協議。它為 HTTP 1.1 添加了一些擴展(就是在 GET、POST、HEAD 等幾個 HTTP 標準方法以外添加了一些新的方法),使得應用程序可以直接將文件寫到 Web Server 上,并且在寫文件時候可以對文件加鎖,寫完后對文件解鎖,還可以支持對文件所做的版本控制。


    2.項目介紹

    本項目是一個hadoop namenode server的webdav協議訪問代理,實現 client => hdfs-webdav proxy => hadoop namenode server的中間層. 項目修改自tomcat的WebdavServlet,實現了WebDAV level 2協議.


    3.war部署

    修改配置

    修改hdfs-webdav.war里面的WEB-INF/classes/hadoop-site.xml

    修改fs.default.name屬性,以確定hdfs-webdav要連接的hadoop NameNode Server,示例:

    <property>
       <name>fs.default.name</name>
       <value>hdfs://192.168.52.129:9000/</value>
       <description>namenode</description>
    </property>

    替換hadoop-xxxx-core.jar版本

    由于hadoop有自己的rpc遠程調用實現,并且各個版本間可能不兼容(0.17.x與0.18.x之間就不兼容),所以需要將WEB-INF/lib/hadoop-xxxx-core.jar的版本與NameNode Server的版本一致.現war自帶的是hadoop-0.18.1-core.jar的版本

    部署至tomcat

    以上修改完,將war包部署至tomcat或是jboss中,部署在其它服務器中時需要tomcat的catalina.jar與tomcat-coyote.jar,拷貝至WEB-INF/lib目錄,因為現在項目是從tomcat的WebdavServlet中修改而來的

    測試是否部署成功

    訪問http://localhost:8080/hdfs-webdav


    4.webdav客戶端訪問

    實現webdav的hdfs可以映射為windows或是linux本地文件夾.

    window網上鄰居訪問

    打開“網上鄰居”,添加網上鄰居,在“請鍵入網上鄰居的位置”中輸入 Web 文件夾的 URL.

    http://localhost:8080/hdfs-webdav

    然后按照向導的提示繼續下一步就可以了.

    Linux mount WebDav為本地文件系統

    linux下相要mount WebDAV server為本地文件系統,必須要使用davfs2,項目網址:http://dav.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
    

    neon,davfs2,fuse編譯安裝: 項目的linux_mount_lib目錄已經自帶了這三個包

    1.運行./configure
    2.運行make
    3.運行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.davfs http://192.168.55.104:8080/hdfs-webdav /data/hdfs
    
    				
    項目下載: http://hdfs-webdav.googlecode.com/files/hdfs-webdav.war
    或是至項目網站下載: http://code.google.com/p/hdfs-webdav/downloads/list

    posted on 2008-11-24 11:21 badqiu 閱讀(2779) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 欧美日韩国产免费一区二区三区| 怡红院免费全部视频在线视频| 亚洲精品第一国产综合精品| 久久精品国产亚洲av高清漫画| 亚洲一区二区三区在线网站| 亚洲精品无码专区在线播放| 免费观看又污又黄在线观看| 好猛好深好爽好硬免费视频| 五月亭亭免费高清在线| 无码国产亚洲日韩国精品视频一区二区三区 | 日韩中文字幕免费| 亚洲国产精品成人网址天堂| 亚洲v高清理论电影| 亚洲妇女熟BBW| 免费无码一区二区三区| 免费特级黄毛片在线成人观看| 亚洲精品国产精品乱码视色| 亚洲av无码一区二区三区天堂| 免费福利电影在线观看| 午夜国产羞羞视频免费网站| 亚洲午夜视频在线观看| 日韩一级片免费观看| 无码中文字幕av免费放| 久久精品国产亚洲AV麻豆不卡| CAOPORM国产精品视频免费| 美女黄网站人色视频免费国产| 美女被艹免费视频| 国产精品国产午夜免费福利看| 亚洲短视频在线观看| 高清国语自产拍免费视频国产| 在线观看免费亚洲| 99免费观看视频| 亚洲性无码一区二区三区| 18禁止看的免费污网站| 亚洲AV无码精品无码麻豆| 国拍在线精品视频免费观看 | 亚洲乱码无码永久不卡在线| 久久久久久精品成人免费图片| 亚洲av永久无码精品网址| 久久亚洲AV午夜福利精品一区 | 国产L精品国产亚洲区久久|