hdfs-over-ftp使用说明

Posted shy_snow

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdfs-over-ftp使用说明相关的知识,希望对你有一定的参考价值。

hdfs-over-ftp使用说明
一、介绍
hdfs-over-ftp可以将hdfs文件系统通过ftp服务方式暴露出来,可以通过ftp客户端下载和上传hadoop文件。
二、编译及安装配置
原作者很久不更新了https://github.com/iponweb/hdfs-over-ftp
如果要支持hadoop2、hadoop3需要自己编译;可以参考这个hadoop3的项目https://github.com/shysnow/hdfs-over-ftp
也可以直接下载编译后的包https://download.csdn.net/download/shy_snow/87255885
环境中需要有jdk1.8,没有的话需要先安装jdk1.8
1.根据hadoop版本重新编译出hdfs-over-ftp-1.0-jar-with-dependencies.jar
2.在hdfs-over-ftp-1.0-jar-with-dependencies.jar同级目录新增并修改hdfs-over-ftp.properties的hdfs-uri为实际的hdfs地址;在users.properties配置ftp访问用户名及密码,参考后面的配置文件说明
3.拷贝hdfs-site.xml和core-site.xml到在hdfs-over-ftp-1.0-jar-with-dependencies.jar平级目录
4.启动hdfs-over-ftp的ftp服务
nohup java -Xms256m -Xmx2g -cp .:./hdfs-over-ftp-1.0-jar-with-dependencies.jar org.apache.hadoop.contrib.ftp.HdfsOverFtpServer &

三、ftp客户端连接示例

四、Kerberos认证
如果集群开启了kerberos认证,那么要使用已认证的操作系统用户去启动startServer.sh
五、配置文件说明

Hdfs-over-ftp.properties修改hdfs-uri为实际的hdfs地址

“ftpserver.user.” 后面是用户名, 用户密码需要使用md5加密。例如密码是123456,执行下面的命令获取密码的md5值
echo -n 123456 | openssl md5
ftpserver.user.xxxx.groups是用户的属主, 在hadoop2.6中上传文件会使用该属主的值,但是hadoop3暂时不能支持设置groups,使用的是启动hdfs-over-ftp服务的用户的属主,所以hadoop3版本要使用一个权限较大的用户启动hdfs-over-ftp服务。因为hadoop3中开始后hadoop.job.ugi不再生效,导致权限是启动hdfs-over-ftp服务的操作用户权限, 这个博客有详细说明https://blog.csdn.net/wf1982/article/details/6720043;
修改配置文件后,重启hdfs-over-ftp才能生效。
如果有权限问题,通过hdfs命令查看目录的权限;
Hadoop dfs -ls /
赋权操作命令
Hadoop dfs -chmod 755 /xxx
Hadoop dfs -chown firstuser:firstuser /xxx

另外,暂不支持sftp。

以上是关于hdfs-over-ftp使用说明的主要内容,如果未能解决你的问题,请参考以下文章

jQuery上传插件Uploadify使用详解(转发原作者冯威)

使用github参与到开源项目的维护

AFNetworking 原作者都无法解决的问题: 如何使用ip直接访问https网站?

使用机器学习的作者归属 [关闭]

为啥在浏览器缓存处理缓存时使用服务工作者进行缓存?

安卓onTextChanged参数解释及实现EditText字数监听 Editable使用