1. 程式人生 > 其它 >nfs掛載hdfs,實現雲端儲存

nfs掛載hdfs,實現雲端儲存

  本來不知道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
100005 1 tcp 4242 mountd
100005 2 udp 4242 mountd
100005 2 tcp 4242 mountd
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100005 3 udp 4242 mountd

  showmount -e 127.0.0.1

Exports list on $nfs_server_ip:
/ (everyone)

  7.把本地的home/cenyuhai/nfs和hdfs做對映,做完對映之後,hdfs上的目錄會出現在本地的/home/cenyuhai/nfs目錄中

mount -t nfs -o vers=3,proto=tcp,nolock 127.0.0.1:/ /home/cenyuhai/nfs

  然後我們可以看到nfs下面出現了這些目錄,它們就是我在hdfs上面的目錄。