本文转自https://cloud.tencent.com/developer/article/1078538,如果侵权请联系我删除。

1.文档编写目的


Hadoop支持通过NFSv3挂载HDFS文件系统到本地目录,允许用户像访问本地文件系统一样访问HDFS,对于普通用户来说大大的简化了HDFS的使用。该功能通过引入NFS Gateway服务实现,将NFS协议转换为HDFS访问协议。本篇文章主要讲述如何将HDFS文件系统挂载到Linux本地。

  • 内容概述

1.安装NFS GateWay服务

2.安装NFS依赖包

3.挂载HDFS目录到本地目录及自动挂载

4.测试NFS挂载

  • 测试环境

1.CM和CDH版本为5.11.2

2.安装NFS GateWay服务


1.使用管理员账号登录Cloudera Manager,进入HDFS服务“实例”界面

2.点击“添加角色实例”

3.点击“继续”

4.选择新添加的NFS GateWay服务并启动

启动成功

至此完成HDFS的NFS GateWay服务安装。

3.在Linux下挂载NFS文件系统


由于机器有限,这里Fayson选择集群任意节点(ip-172-31-21-45.ap-southeast-1.compute.internal)进行NFS挂载。

1.登录172.31.21.45服务,安装NFS依赖包

[ec2-user@ip-172-31-21-45 ~]$ sudo yum -y install nfs-utils*

2.创建本地NFS挂载目录

[ec2-user@ip-172-31-21-45 ~]$ sudo mkdir /hdfs_nfs_mount

3.在命令行执行如下命令挂载NFS文件系统

[ec2-user@ip-172-31-21-45 ~]$ sudo mount -t nfs -o vers=3,proto=tcp,nolock ip-172-31-26-80.ap-southeast-1.compute.internal:/ /hdfs_nfs_mount

这里可以看到我们的NFS文件系统目录已挂载成功。

4.自动挂载NFS文件系统


1.编辑/etc/fstab文件,在文件最后行增加如下配置

[ec2-user@ip-172-31-21-45 ~]$ sudo vim /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Tue Oct 25 15:56:15 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=d8048d39-5ce3-4cdf-9115-416a99b36906 /                       xfs     defaults        0 0
ip-172-31-26-80.ap-southeast-1.compute.internal:/ /hdfs_nfs_mount nfs     defaults        0 0

2.重启OS后查看是否挂载成功

5.验证NFS挂载


1.进入/hdfs_nfs_mount目录,列出HDFS根目录下所有的文件

[ec2-user@ip-172-31-21-45 ~]$ cd /hdfs_nfs_mount/
[ec2-user@ip-172-31-21-45 hdfs_nfs_mount]$ ll

HDFS根目录文件列表

通过本地文件系统浏览的目录与HDFS上面的文件系统一致。

2.使用ec2-user用户向本地文件系统/hdfs_nfs_mount/fayson目录拷贝文件

[ec2-user@ip-172-31-21-45 ~]$ cp fayson.keytab /hdfs_nfs_mount/fayson/
[ec2-user@ip-172-31-21-45 ~]$ ll /hdfs_nfs_mount/fayson/
total 28181
-rw------- 1 ec2-user 2584148964      514 Dec 27 08:39 fayson.keytab
-rw-r--r-- 1 ec2-user 2584148964 28855325 Oct  3 10:28 item.csv
[ec2-user@ip-172-31-21-45 ~]$ 

3.查看HDFS文件系统的/fayson目录

可以看到HDFS文件系统的/fayson目录下文件与本地文件系统/hdfs_nfs_mount/fayson目录文件内容一致。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐