一款基于hdfs的ftp服务器,通过java的spi机制内置支持多hadoop版本,自带依赖,无需编译即可使用。
1.7K
一款基于hdfs的ftp服务器,通过java的spi机制内置支持多hadoop版本,自带依赖,无需编译即可使用。
项目基于 https://github.com/iponweb/hdfs-over-ftp 和 https://github.com/garyfub/hdfsftpserver 进行改造升级。 主工程使用springboot实现,hadoop客户端以spi插件形式隔离,启动时通过环境变量指定jar包自动加载对应库。
github:https://github.com/linshenkx/hdfs-ftp-server
dockerhub:https://hub.docker.com/repository/docker/linshen/hdfs-ftp-server
| 名称 | jar包 | 说明 |
|---|---|---|
| official3.3.1 | hdfs-ftp-server-impl-official-331-shadow.jar | hadoop官方3.3.1版本(目前最新版本) |
| cdh6.3.2-3.0.0 | hdfs-ftp-server-impl-cdh632-300-shadow.jar | cdh发行版6.3.2(最后的免费版本),对应hadoop版本为3.0.0 |
| native | hdfs-ftp-server-impl-native-shadow.jar | 本地ftp服务器,以项目根目录为ftp根目录,用于测试开发 |
注意:所有配置基本都可以通过环境变量定制,方便容器化使用 配置的优先级由高到低为:application.xml、env.sh、环境变量 容器化使用建议配置环境变量,普通使用建议修改env.sh application.xml则是最终配置
环境变量配置文件,被注释掉的是默认值 主要为服务器运行配置,如加载application配置文件名、加载hadoop插件包、运行内存、是否开启远程debug等 另外也可配置keberos认证(这个属于业务了,也可在application.xml里面配置)
主要修改配置项为LOADER_JARFILE
主要为ftp服务器配置
ftp服务器用户配置,默认为admin/admin123(完整权限),anonymous(读权限) 注意:anonymous建议删掉,避免匿名访问 另外,这里的用户主要用于登录访问,权限控制应以hdfs自身的为主
目前以hdfs-kerberos方式登录时,权限由登录user(keytab+principal)权限决定,无法限制只读
使用模块化开发,适配其他hadoop版本时,复制原有工程,修改依赖性即可
hdfs-ftp-server-impl-gradle cleanAll createDirs prepareJars buildTarZip(出错请使用最新版本的gradle)Content type
Image
Digest
Size
345 MB
Last updated
over 4 years ago
docker pull linshen/hdfs-ftp-server