您好,登錄后才能下訂單哦!
原理
NFS允許用戶像訪問本地文件系統一樣訪問遠程文件系統,而將NFS引入HDFS后,用戶可像讀寫本地文件一樣讀寫HDFS上的文件,大大簡化了HDFS使用,這是通過引入一個NFS gateway服務實現的,該服務能將NFS協議轉換為HDFS訪問協議,具體如下圖所示。
Portmap和Nfs3進程是成功啟動hdfs nfs網關后才有的進程
HDFS NFS Gateway安裝配置詳解
http://blog.csdn.net/rzliuwei/article/details/38388279
啟動NFS Gateway 服務
官網鏈接
http://hadoop.apache.org/docs/r2.4.1/hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html
驗證服務
如果不是可以查看/etc/exports文件
掛載HDFS
掛載HDFS文件系統到本地的/mnt/hdfs目錄下
在NFS GATEWAY主機上輸入
sudo mount -t nfs -o vers=3,proto=tcp,nolock 192.168.1.105:/ /mnt/hdfs
May 8 15:53:18 cdh2 rpc.mountd[3689]: refused mount request from 192.168.1.105 for / (/): unmatched host
如果報錯因為機器默認沒有打開NFSv3,修改/etc/sysconfig/nfs文件
把RPCNFSDARGS="-N 4"前面的#去掉(4兼容2和3),修改重啟所有服務。
查看報錯詳細信息:
cat /var/log/messages|grep mount
成功掛載后如下所示,可以看到HDFS文件系統已掛載到本地目錄
創建目錄
可以看到HDFS系統上對應目錄已創建成功
從本地上傳文件到HDFS
文件大小為500m,測試性能
time cp /opt/cloudera-manager-el6-cm5.3.3_x86_64.tar.gz /mnt/hdfs/test
我的環境上耗時大概48s,10M/s的速度,還可以
解掛HDFS
報錯umount.nfs: /mnt/hdfs: device is busy
fuser -m /mnt/hdfs,查看此文件系統正在被哪些進程訪問
yum -y install lsof
查看此文件系統中正在被使用的文件,可以看到/data目錄被正在使用
kill -9 15355 殺死訪問進程就可以,輸入umount /mnt/hdfs解掛成功。
補充:
linux下好用的命令:tree
安裝tree包
yum -y install tree
安裝后鍵入 tree /mnt/hdfs/hbase,目錄結構以樹形的方式顯示是不是很直觀
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。