? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 天津九安醫(yī)療電子--吳偉?
1.首先選定一臺災(zāi)備機器作為NFS服務(wù)器
(1)安裝如下:
apt-get install nfs-kernel-server? (NFS服務(wù)器,提供nfs服務(wù))
apt-get install portmap (端口映射服務(wù)器捍岳,主要是RPC程序號轉(zhuǎn)化為Internet的端口號)
(2)在/etc/exports文件中 設(shè)置需要掛載為nfs服務(wù)的目錄
注: /home/hadoop/name? 表示掛載的目錄
*表示任意IP牵素,這里大家可以根據(jù)需求配置簸州,如10.10.*.*
(rw,sync,no_subtree_check)這里指掛載目錄的相關(guān)設(shè)置(詳細描述見文后備注) ,此處因為要提供給namenode寫權(quán)限,故應(yīng)該配置為rw
(3)重新啟動NFS服務(wù)(使exports修改生效哮奇,當(dāng)然還有另外的命令 這里就不再多侃了)
sudo? /etc/init.d/nfs-kernel-server restart? 或者 sudo service nfs-kernel-server restart,? 另外start西壮,stop,status就不詳述了
至于portmap的相關(guān)命令同上
(4)查看掛載目錄是否成功
showmount -e
2.? 在namenode上安裝NFS客服端
(1)apt-get install nfs-common (NFS客戶端,訪問nfs)
(2)掛載NFS目錄到本地
mount? ? ? IP:/home/hadoop/name? /home/hadoop/nfs
掛載命令? ? NFS服務(wù)的IP及路徑? ? ? ? ? ? 本地目錄(必須為已存在的目錄)
umount? /home/hadoop/nfs? 卸載目錄? 如果出現(xiàn)device is busy錯誤? 可以另加 -l? 參數(shù)強制卸載
3.? 配置namenode下hdfs-site.xml文件的dfs.name.dir配置里加上掛載的路徑/home/hadoop/nfs
如
4.? 重啟hadoop
然后去NFS服務(wù)器 /home/hadoop/name? 目錄下查看是否已經(jīng)有namenode的fsimage等文件
有則證明配置成功张咳。
如出現(xiàn)不能訪問指定目錄(/home/hadoop/nfs)的錯誤帝洪,請檢查NFS服務(wù)器端文件權(quán)限問題是否為只可讀(ro)
備注:有關(guān)NFS配置還有不明的請去參考網(wǎng)上其他文章,本文重點不在介紹配置NFS脚猾,故不作更多的描述葱峡。
以下是掛載文件的一些配置參數(shù)及含義,僅供參考
ro? ? ? ? ? ? ? ? ? ? ? 只讀訪問
rw? ? ? ? ? ? ? ? ? ? ? 讀寫訪問
sync? ? ? ? ? ? ? ? ? ? 所有數(shù)據(jù)在請求時寫入共享
async? ? ? ? ? ? ? ? ? NFS在寫入數(shù)據(jù)前可以相應(yīng)請求
secure? ? ? ? ? ? ? ? ? NFS通過1024以下的安全TCP/IP端口發(fā)送
insecure? ? ? ? ? ? ? ? NFS通過1024以上的端口發(fā)送
wdelay? ? ? ? ? ? ? ? ? 如果多個用戶要寫入NFS目錄龙助,則歸組寫入(默認)
no_wdelay? ? ? ? ? ? ? 如果多個用戶要寫入NFS目錄砰奕,則立即寫入,當(dāng)使用async時提鸟,無需此設(shè)置军援。
hide? ? ? ? ? ? ? ? ? ? 在NFS共享目錄中不共享其子目錄
no_hide? ? ? ? ? ? ? ? 共享NFS目錄的子目錄
subtree_check? ? ? ? ? 如果共享/usr/bin之類的子目錄時,強制NFS檢查父目錄的權(quán)限(默認)
no_subtree_check? ? ? ? 和上面相對称勋,不檢查父目錄權(quán)限
all_squash? ? ? ? ? ? ? 共享文件的UID和GID映射匿名用戶anonymous盖溺,適合公用目錄。
no_all_squash? ? ? ? ? 保留共享文件的UID和GID(默認)
root_squash? ? ? ? ? ? root用戶的所有請求映射成如anonymous用戶一樣的權(quán)限(默認)
no_root_squas? ? ? ? ? root用戶具有根目錄的完全管理訪問權(quán)限
anonuid=xxx? ? ? ? ? ? 指定NFS服務(wù)器/etc/passwd文件中匿名用戶的UID
anongid=xxx? ? ? ? ? ? 指定NFS服務(wù)器/etc/passwd文件中匿名用戶的GID