使用webdav从windows上传日志到hdfs

   在讨论如何从windows上传日志到hdfs时,除cygwin外,我们还测试了另外一种手段:webdav。
   下载及参考文档:
   http://code.google.com/p/hdfs-webdav/downloads/list
   http://badqiu.iteye.com/blog/269641
   网上关于使用webdav进行上传日志的文章,基本上都是以上述链接文档为参考的。而且上述链接文档说的很详细,这里就不再赘述,安装完以后,即可从网页上看到效果。如图:

   但是我们在windows上挂载hdfs目录时,出了点问题:必须与webdav同网段的windows机器才能挂载webdav目录!
   为了解决这个问题,我们写了一个cshell程序,不用再挂载webdav目录了,直接连接URL进行上传;后来发现一个更简便的方法,就是使用curl的windows版直接上传,创建一个bat文件,用于计划任务,定时执行上传动作。我的bat文件示例如下:
  
  
  
  
  1. for /R "G:\test" %%s in (*.*) do ( 
  2. G:\curl_722_0\curl.exe -T %%s http://192.168.9.53:8080/hdfs-webdav/test/ 
 
   注意:webdav的地址最后必须要有一个斜杠 (/)!否则会上传失败。
--------------------------------------------------------------
2011-10-09补充:
   按上述做法搭建成功webdav,但是在上传日志到hdfs的时候,发现了一个问题:webdav按照64M大小的分块进行存储文件,默认拷贝3份副本;而我的集群设置为128M的块大小,2份副本。两者不符。
   解决办法是,把hadoop的hdfs-site.xml文件拷贝到webdav的WEB-INF/classes目录下,跟hadoop-site.xml文件放到一起。

你可能感兴趣的:(日志,职场,hdfs,WebDAV,休闲)