HDFS NFS Gateway


NFS網關支持NFSv3,並允許將HDFS作為客戶端本地文件系統進行掛載。目前,NFS Gateway支持並啟用以下使用模式:

  • 用戶可以通過NFSv3客戶端兼容操作系統上的本地文件系統瀏覽HDFS文件系統。
  • 用戶可以將文件從HDFS文件系統下載到其本地文件系統。
  • 用戶可以將文件從本地文件系統直接上傳到HDFS文件系統。
  • 用戶可以通過掛載點將數據直接傳輸到HDFS。支持文件追加,但不支持隨機寫入。

 

CDH部署NFS Gateway

可以在data01.bigdata-heboan.com(192.168.48.129)上驗證服務是否啟動

rpcinfo -p $nfs_server_ip

 

現在找一台客戶端機器(192.168.48.130)

安裝nfs

yum install rpcbind nfs-utils  -y

驗證 HDFS命名空間是否已導入並可以掛載

showmount -e $ nfs_server_ip

 掛載導出"/"

目前NFS v3僅使用TCP作為傳輸協議。不支持NLM,因此需要mount選項“nolock”。強烈建議使用掛載選項“sync”,因為它可以最小化或避免重新排序的寫入,從而產生更可預測的吞吐量。
上載大文件時,不指定sync選項可能會導致不可靠的行為。建議使用硬裝。這是因為,即使在客戶端將所有數據發送到NFS網關之后,當NFS客戶端內核重新排序寫入時,可能需要額外的時間將NFS網關傳輸到HDFS。
如果必須使用軟安裝,用戶應該給它一個相對較長的超時(至少不低於主機上的默認超時)。

用戶可以掛載HDFS命名空間,如下所示

mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync $server:/  $mount_point

 

經過測試使用,  掛載到本地讀寫不受kerberos認證影響, 但是需注意用戶權限。

比如使用heboan用戶對掛載的目錄進行上傳文件, 操作步驟如下:

  • 在hdfs 集群主機,ndfs客戶端創建用戶heboan(最好使用ldap,如 freeipa管理,這樣可以確保uid一致,否則手動創建可能uid不一樣,這個要注意)
  • 然后使用hdfs 創建/user/heboan   (hdfs dfs -mkdir /user/heboan     hdfs dfs -chown heboan:heboan /user/heboan)
  • 最后使用用戶heboan登錄nfs客戶端,就可以對/data/user/heboan目錄進行讀寫了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM