现在的位置: 首页 > IT运维 > 正文

webdav

2010年12月16日 IT运维 ⁄ 共 3166字 暂无评论 ⁄ 被围观 7+

首先需要安装cadaver.i386包,root下直接"yum install cadaver.i386"就ok。

然后命令行输入“cadaver https://www.onlinefilefolder.com/webdav/index.php/your_user_name/”,再输入你的用户名和密码,就到了一个类似于FTP命令的状态了。

使用“?”可以查看可用的命令,比如ls列出目录和文件,mput上传文件等等。这里给出列表吧:
Available commands:
ls cd pwd put get mget mput
edit less mkcol cat delete rmcol copy
move lock unlock discover steal showlocks version
checkin checkout uncheckout history label propnames chexec
propget propdel propset search set open close
echo quit unset lcd lls lpwd logout
help describe about
Aliases: rm=delete, mkdir=mkcol, mv=move, cp=copy, more=less, quit=exit=bye

注意上传文件有单个最大1g的限制。

=============================================
nginx+webdav
2009年3月26日 | 标签: dav, nginx, webdav, Windows

今天要给客户建立文件更新平台,就是一个WEB服务器,但更新用FTP不好,想着用WEBDAV实现。WEB服务器是NGINX,查了下资料,NGINX有个第三方模块DAV。但目前只支持PUT, DELETE, MKCOL, COPY and MOVE这几种方法。安装:./configure –with-http_dav_module

安装好以后随意建立了一个SERVER,配置如下(官方网站):

location / {
root /data/www;
client_body_temp_path /data/client_temp;

dav_methods PUT DELETE MKCOL COPY MOVE;

create_full_put_path on;
dav_access group:rw all:r;

#limit_except GET {
#allow 192.168.1.0/32;
#deny all;
#}
}

=============================================

实现WebDav协议,将hdfs mount为linux本地文件系统
2010年11月26日 星期五 20:15

原文:‍http://badqiu.javaeye.com/blog/269641

文章分类:Java编程

使用hadoop的shell命令进行hdfs的操作十分不方便,最好的办法当然是将hdfs映射为本地文件系统. 而通过实现WebDav Http协议, 结合WebDav的众多客户端,可以将hdfs映射为windows或是linux的本地文件系统.而使用api存储文件时,也将对应用透明,如使用本地文件系统一样使用hdfs.

1.Webdav协议介绍:
WebDAV(Web-based Distributed Authoring and Versioning)是基于 HTTP 1.1 的一个通信协议。它为 HTTP 1.1 添加了一些扩展(就是在 GET、POST、HEAD 等几个 HTTP 标准方法以外添加了一些新的方法),使得应用程序可以直接将文件写到 Web Server 上,并且在写文件时候可以对文件加锁,写完后对文件解锁,还可以支持对文件所做的版本控制。
具体请看:
http://www.javaeye.com/topic/6568
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,示例:

fs.default.namehdfs://192.168.52.129:9000/namenode替换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.运行./configure2.运行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 项目下载:

给我留言

您必须 [ 登录 ] 才能发表留言!

×
#