hdfs-over-ftp是一个开源,简单易用的实现了对HDFS系统的下载和上传功能的小工具。可以作为管理工具来使用,快捷方便。
1 安装jdk(1.6以上版本)并配置环境变量
分别执行java -version和javac -version,若显示版本正确,则说明安装和配置成功
2 安装hadoop,并将服务启动并配置环境变量
执行hadoop version,若显示正确版本号,说明安装和配置成功
3 安装maven(3.0.4)并配置环境变量
执行mvn --version,若显示正确版本,说明安装和配置成功
4 下载hdfs-over-ftp-master.tar.gz,地址 https://github.com/iponweb/hdfs-over-ftp
5 tar -zvxf hdfs-over-ftp-master.tar.gz
6 vi hdfs-over-ftp-master/src/main/resources/users.properties
7 将红色字体的值设置成你想设置的密码的MD5加密值,下面的密码为123456的MD5加密值
ftpserver.user.firstuser.userpassword=e10adc3949ba59abbe56e057f20f883e
ftpserver.user.firstuser.homedirectory=/
ftpserver.user.firstuser.enableflag=true
ftpserver.user.firstuser.writepermission=true
ftpserver.user.firstuser.maxloginnumber=0
ftpserver.user.firstuser.maxloginperip=0
ftpserver.user.firstuser.idletime=0
ftpserver.user.firstuser.uploadrate=0
ftpserver.user.firstuser.downloadrate=0
ftpserver.user.firstuser.groups=firstuser,users
ftpserver.user.agladyshev.userpassword=e10adc3949ba59abbe56e057f20f883e
ftpserver.user.agladyshev.homedirectory=/
ftpserver.user.agladyshev.enableflag=true
ftpserver.user.agladyshev.writepermission=true
ftpserver.user.agladyshev.maxloginnumber=0
ftpserver.user.agladyshev.maxloginperip=0
ftpserver.user.agladyshev.idletime=0
ftpserver.user.agladyshev.uploadrate=0
ftpserver.user.agladyshev.downloadrate=0
ftpserver.user.agladyshev.groups=agladyshev,users
8 修改文件hdfs-over-ftp-master/src/main/resources/hdfs-over-ftp.properties的配置,红色为修改后值
#uncomment this to run ftp server
port = 2222
data-ports = 2223
#uncomment this to run ssl ftp server
#ssl-port = 2226
#ssl-data-ports = 2227
# hdfs uri
hdfs-uri = hdfs://localhost:9000
# have to be a user which runs HDFS
# this allows you to start ftp server as a root to use 21 port
# and use hdfs as a superuser
superuser = agladyshev
9 修改文件hdfs-over-ftp-master/pom.xml的配置,红色字体为修改部分,如果不修改的话可能在服务器运行时无法找到部分包
<dependency>
<groupId>org.apache.mina</groupId>
<artifactId>mina-core</artifactId>
<version>2.0.0-M2</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.6.0</version>
</dependency>
10 执行sh hdfs-over-ftp-master/hdfs-over-ftp.sh,下载所有的包后服务器将启动(注意:安装ftp服务的机器必须能连接外网)
11 如果显示服务器已启动,就可以任何ftp客户端或命令登录了
启动服务器后,使用 ftp://localhost:2222 进入hdfs系统。根据小僧亲测。。方便是很方便,但经常会有bug,比如有时会进入失败,没法登陆,或者下载和上传无响应都需要重启服务。因此工具还未够稳定。