hdfs是分布式系统,要想访问hdfs上的文件,可以用java api 或者hadoop shell等工具,如果想操作hdfs文件系统就像操作本地文件系统一样的便捷,可以将hdfs文件系统挂载到本地的一个目录上,那么挂载的方式有两种:
1、fuse 挂载:需要另外安装fuse工具,详细请参考:
http://duguyiren3476.iteye.com/blog/2054506
2、nfs挂载:apache hadoop2.x以后的版本中自带了一个nfs3的插件服务。
近期部门hou同学进行了验证,下面将详细讲解nfs挂载的方式。
一、测试环境
Hadoop2.6.0
Centos7
二、配置文件
1、core-site.xml
<property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> |
2、hdfs-site.xml
<property> <name>nfs.superuser</name> <value>hadoop</value> </property> <property> <name>dfs.namenode.accesstime.precision</name> <value>3600000</value> </property> <property> <name>nfs.dump.dir</name> <value>/tmp/.hdfs-nfs</value> </property> <property> <name>nfs.exports.allowed.hosts</name> <value>10.19.155.* rw</value> </property> |
注:10.19.155 为我的局域网网段
三、重启集群(伪分布式)
[hadoop@localhost223 sbin]$ start-dfs.sh [hadoop@localhost223 sbin]$ start-yarn.sh [hadoop@localhost223 sbin]$ jps 17872 SecondaryNameNode 18670 Jps 18146 ResourceManager 17350 NameNode 18440 NodeManager 17594 DataNode |
四、关闭本机NFS服务
[hadoop@localhost223 sbin]$ sudo service nfs stop [hadoop@localhost223 sbin]$ sudo service rpcbind stop |
五、启动hadoop nfs
[hadoop@localhost223 hadoop-2.6.0]$ sudo sbin/hadoop-daemon.sh --script bin/hdfs start portmap [hadoop@localhost223 hadoop-2.6.0]$ sudo sbin/hadoop-daemon.sh --script bin/hdfs start nfs3 |
六、查看本机挂载情况
[hadoop@localhost223 sbin]$ showmount –e localhost |
七、linux挂载到本地目录
[hadoop@localhost223 hadoop-2.6.0]$ sudo mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync 10.19.155.223:/ /mnt/hdfs/ |
注:10.19.155.223问hadoop ip ;/mnt/hdfs/ 为本地文件夹
八、windows挂载到本地目录
C:\Windows\system32>net use M: \\10.19.155.41\! 命令成功完成。 C:\Windows\system32>M: M:\>ls testMount testMount1 testMount2 M:\>cd testMount M:\testMount>ls capacity-scheduler.xml hdfs-site.xml kms-site.xml core-site.xml httpfs-site.xml mapred-site.xml hadoop-policy.xml kms-acls.xml yarn-site.xml |
九、遗留问题
1、不能挂载hdfs上的文件夹,只能挂载根目录
2、Linux挂载可进行文件的修改,在hdfs产生备份
3、Windows挂载可进行文件的拷贝、粘贴、读操作,但不支持对hdfs上的文件进行修改
十、总结
Hdfs配置nfs相对简单,但对文件的控制性有限,hdfs的安全也是需要考虑的问题,特别是windows挂载,可用性不高。
相关资源可访问我的网盘:
http://yunpan.cn/cdhBZTTNkDnU2 访问密码 a312





