通過NFSv3掛載HDFS到本地目錄

2021-07-07 03:25:48 字數 3237 閱讀 2778

編輯$hadoop_home/etc/hadoop/hdsf-site.xml檔案,增加如下配置:

dfs.access.time.precision

3600000

the access time for hdfs file is precise upto thisvalue.

the default value is 1 hour. setting a value of 0 disables

access times for hdfs.

dfs.datanode.max.xcievers

1024

dfs.nfs3.dump.dir

/tmp/.hdfs-nfs

ü  上述的屬性名稱dfs.access.time.precision已經被dfs.namenode.accesstime.precision替換,建議使用這個名稱;

ü  上述的屬性名稱dfs.datanode.max.xcievers已經被dfs.datanode.max.transfer.threads替換,建議使用這個名稱;

編輯log4j.property檔案,增加如下配置:

log4j.logger.org.apache.hadoop.hdfs.nfs=debug

log4j.logger.org.apache.hadoop.oncrpc=debug

然後可以啟動portmap了,注意這裡需要root許可權才能啟動:

sudo ./bin/hdfs portmap -start

若提示埠已經被占用,則說明系統已經啟動了,需要先停止:

service portmap stop

然後再啟動。

再啟動nfs,一定要先啟動portmap才能啟動nfs:

./bin/hdfs nfs3 start

可以通過以下兩個命令來觀察是否啟動ok:

rpcinfo -p 192.168.111.130  #後面的ip位址是namenode的啟動伺服器位址

showmount -e 192.168.111.130

在/mnt目錄下建立掛載目錄hdfs

mkdir –p /mnt/hdfs

掛載到目標目錄,注意這裡使用的是mount.nfs,若沒有則需要手工先安裝,以下命令是在ubuntu12.04server版本是進行的:

sudo mount.nfs -o nolock 192.168.111.130://mnt/hdfs

若上述命令提示mount.nfs不存在,則需要提前先安裝好:

sudo apt-get install nfs-common

或者sudo mount -o nolock 10.3.3.141:/ /mnt/hdfs #這是在suse機器上的命令

或者sudo mount -t nfs -o vers=3,proto=tcp,nolock10.3.3.141:/ /mnt/hdfs  #這是在suse機器上的命令

實測如下:

一台namenode(10.3.3.141),兩台datanode(10.3.3.142,10.3.3.143):

1、往hdfs上覆制檔案:

[aihadoop@suse-141 ~] $ time cp jdk.tar.gz/mnt/hdfs/

real   0m6.733s

user   0m0.000s

sys    0m0.264s

[aihadoop@suse-141 ~] $ ll jdk.tar.gz

-rw-r--r-- 1 aihadoop aihadoop 156209379 2013-12-2015:57 jdk.tar.gz

[aihadoop@suse-141 soft_bak] $ llspark-0.8.1-incubating-bin-hadoop2.tgz

-rw------- 1 aihadoop aihadoop 225613885 2013-12-2314:49 spark-0.8.1-incubating-bin-hadoop2.tgz

[aihadoop@suse-141 soft_bak] $ time cp spark-0.8.1-incubating-bin-hadoop2.tgz/mnt/hdfs/

real   0m7.671s

user   0m0.000s

sys    0m0.376s

從上面的測試來看,在目前這個環境中:上傳速度約為:26m/s

2、從hdfs上覆制檔案到本地目錄:

[aihadoop@suse-141 workdir] $ time cp/mnt/hdfs/test_put_250_06_20130604148159 .

real   0m3.243s

user    0m0.000s

sys    0m0.508s

[aihadoop@suse-141 soft_bak] $ lltest_put_250_06_20130604148159

-rw-r--r-- 1 aihadoop aihadoop 102324750 2014-01-0317:25 test_put_250_06_20130604148159

[aihadoop@suse-141 workdir] $ time cp/mnt/hdfs/jdk.tar.gz .

real   0m4.750s

user   0m0.004s

sys    0m0.420s

[aihadoop@suse-141 workdir] $ ll jdk.tar.gz

-rw-r--r-- 1 aihadoop aihadoop 156209379 2014-01-0317:44 jdk.tar.gz

[aihadoop@suse-141 soft_bak] $ time cp/mnt/hdfs/input/100_01_20130726021112 .

cp: writing `./100_01_20130726021112': no spaceleft on device #這裡空間不夠,寫部分成功了。

real   3m35.862s

user   0m0.164s

sys    0m17.613s

[aihadoop@suse-141 soft_bak] $ ll 100_01_20130726021112

-rw-r--r-- 1 aihadoop aihadoop 40210227202014-01-03 17:31 100_01_20130726021112

通過NFSv3掛載HDFS到本地目錄

dfs.access.time.precision 3600000 the access time for hdfs file is precise upto thisvalue.the default value is 1 hour.setting a value of 0 disables ac...

通過NFSv3掛載HDFS到本地目錄

dfs.access.time.precision 3600000 the access time for hdfs file is precise upto thisvalue.the default value is 1 hour.setting a value of 0 disables ac...

Linux通過ntfs 3g掛載ntfs檔案系統

通過centos學習linux已經有4個月了,總感覺centos給人各種不爽,特別是 centos不能直接訪問windows 7的ntfs檔案系統 讓人瞬間心涼了半截,以後還怎麼愉快地共享雙系統中的檔案,我在這中狀態下痛苦地持續了將近4個月。今天,我準備將我的500g硬碟格式化為vfat windo...