本来不知道nfs是啥,因为群里的Harry童鞋有个问题,如何把本地目录挂载到hdfs上,搞什么云存储,说那么巧就是那么巧,HDP支持nfs,然后我就照着文档的说明去做,最后弄出来了。
1.修改机器上的hdfs-default.xml
vi /share/lib/hadoop/conf/hdfs-default.xml
如果没有hdfs-default就找hdfs-site.xml 设置为如下内容,hdp的默认值是0
<property> <name>dfs.access.time.precision</name> <value>3600000</value> </property>
2.修改hdfs-site.xml,HDP的默认值比较大,4096的,这里就不修改了
<property> <name>dfs.datanode.max.xcievers</name> <value>1024</value> </property>
3.设置nf3的临时存储目录
<property> <name>dfs.nfs3.dump.dir</name> <value>/tmp/.hdfs-nfs</value> </property>
4.nfs本身也有portmap和nfs3等东西,但是我们不用它们的,我们用hadoop本身自带的,分别执行以下的命令
hadoop portmap hadoop nfs3
或者
hadoop-daemon.sh start portmap hadoop-daemon.sh start nfs3
使用上面的命令启动的,可以用以下的命令停止
hadoop-daemon.sh stop nfs3 hadoop-daemon.sh stop portmap
5.安装nfs yum install nfs-utils
6.然后分别执行以下两句命令检查一下
rpcinfo -p 127.0.0.1
program vers proto port tcp mountd udp mountd tcp mountd tcp portmapper udp portmapper udp mountd
showmount -e 127.0.0.1
Exports list on $nfs_server_ip: / (everyone)
7.把本地的home/cenyuhai/nfs和hdfs做映射,做完映射之后,hdfs上的目录会出现在本地的/home/cenyuhai/nfs目录中
,proto=tcp,nolock 127.0.0.1:/ /home/cenyuhai/nfs
然后我们可以看到nfs下面出现了这些目录,它们就是我在hdfs上面的目录。
