基于HDFS的FTP
一家公司使用apache的ftpserver开发框架开发了针对Hadoop的hdfs文件系统的ftp服务器,当然是开源的。
安装过程非常简单,本人只是在linux下安装过,windows下没有成功安装,linux下安装步骤如下:
1.下载安装文件并解压
tar zxvf hdfs-over-ftp.tar.bz2
具体下载目录在 /2012年资料/3月/15日/基于HDFS的FTP/
2.配置
软件根目录下的hdfs-over-ftp.conf
设置hdfs-uri的值
hdfs-uri = hdfs://hdfs的namenode的地址:9000
3.用户的设置
软件根目录下的users.conf
缺省用户好象不能login,在文件最后增加如下内容(用户和密码都是hadoop)
ftpserver.user.hadoop.userpassword=0238775C7BD96E2EAB98038AFE0C4279
ftpserver.user.hadoop.homedirectory=/
ftpserver.user.hadoop.enableflag=true
ftpserver.user.hadoop.writepermission=true
ftpserver.user.hadoop.maxloginnumber=0
ftpserver.user.hadoop.maxloginperip=0
ftpserver.user.hadoop.idletime=0
ftpserver.user.hadoop.uploadrate=0
ftpserver.user.hadoop.downloadrate=0
ftpserver.user.hadoop.groups=hadoop,users
密码使用md5生成,JAVA代码如下
PasswordEncryptor passwordEncryptor = new Md5PasswordEncryptor();
System.out.println(passwordEncryptor.encrypt("hadoop"));
4.log的设置
软件根目录下的log4j.conf
和普通的Log4j一样的设置
5.启动和停止方法
./hdfs-over-ftp.sh start
./hdfs-over-ftp.sh stop
6.测试结果
只有权限设置不能用,其它常用的ftp命令都能正常执行
而且上传下载速度甚至比直接使用hadoop的shell还快,当然要在网络环境一样的情况下