通过NFSv3挂载HDFS到本地目录 -- 1安装配置NFS
1. 背景
HDFS 几乎成了 分布式计算的标配, 但是,大部分的程序,或者程序袁使用的还是POSIX或者类POSIX接口。
因此,如何适配就是个问题。
MapR 的产品,使用HDFS作为持久化的基础,但是app使用起来,还是很方便,其中一个原因是 透过NFS 使用HDFS,
上层应用看到的就是POSIX接口,只是URI可以看到是nfs的。
读写的速度也很快,我们在实际应用中,比对了其他产品,得出的基本结论是,应该使用了内存进行了缓冲。
基本的架构,就是这样的。
app <-(本地)-> NFS (client) <-(远程)-> NFS (server) <-(本地)-> HDFS
2. 试验的环境
2.1 OS版本
使用的是AWS的虚拟机。
Linux内核版本是4.1,镜像的标签是 AMI 系列。
基本特性 和 RedHat Enterprise 6 / CentOS 6 系列很像。
[root@ip-172-30-0-129 hadoop-2.7.1]# uname -a
Linux ip-172-30-0-129 4.1.10-17.31.amzn1.x86_64 #1 SMP Sat Oct 24 01:31:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@ip-172-30-0-129 hadoop-2.7.1]# cat /etc/issue
Amazon Linux AMI release 2015.09
Kernel \r on an \m
2.2 文件系统
文件系统是ext4格式。
如果您使用的是其他版本,请参考。
2.3 网络
我的这台虚拟机的ip地址是 172.30.0.243。
2.4 Hadoop/hdfs
安装的Hadoop的版本是 hadoop-2.7.1, 配置在目录 /home/hdfs 下。
2.5 安全性
一般 分布式文件系统, 是由机房内的一些app访问的,基本可控,大部分情况下使用的,都是"不安全"的。
3. 透过NFS挂载EXT文件系统
3.1 安装NFS
[root@ip-172-30-0-129 hadoop-2.7.1]# yum info nfs*
Loaded plugins: priorities, update-motd, upgrade-helper
Installed Packages
Name : nfs-utils
Arch : x86_64
Epoch : 1
Version : 1.3.0
Release : 0.21.amzn1
Size : 1.0 M
Repo : installed
Summary : NFS utilities and supporting clients and daemons for the kernel NFS server
URL : (....)
[root@ip-172-30-0-129 hadoop-2.7.1]# service nfs status
rpc.svcgssd is stopped
rpc.mountd is stopped
nfsd is stopped
rpc.rqu