最近项目需要使用ftp 直接访问 hdfs上的目录,hdfs分布式文件系统提供了不同的接口,以便客户端可以与其进行交互。除了HDFS Shell,文件系统还通过WebDAV,Thrift,FTP和FUSE。下面是实施记录。

hdfs环境

cdh,hdf,apache,星环,华为等,这里使用公司现有的环境cdh集群(nanenode 的ip :10.32.8.235)

ftp环境

ftp机器ip:10.32.8.124

在此机器上安装ftp服务,直接访问cdh集群hdfs目录。

介质:

 ftp-on-hdfs 

git:https://github.com/iponweb/hdfs-over-ftp

编译安装

安装jdk1.8  略

安装maven 略

解压安装介质后,到解压目录,修改 pom.xml文件

 切换到解压目录 src/main/resources 下修改hdfs信息和ftp-user信息分别对应文件【hdfs-over-ftp.properties】【users.properties】

 修改user.properties文件,在文件中添加FTP用户,需要配置多个用户时,按照下面的配置在文件中继续配置即可。密码是手动使用MD5工具进行加密的,加密的命令为:

[root@oracle resources]# echo -n 12345678 | openssl md5
(stdin)= 25d55ad283aa400af464c76d713c07ad

 进入到解压目录,执行脚本:

[root@oracle hdfs-over-ftp-master]# ./hdfs-over-ftp.sh 

测试