通過NFSv3掛載HDFS到本地目錄

2021-06-20 04:51:41 字數 3157 閱讀 5699

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.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到本地目錄

編輯 hadoop home etc hadoop hdsf site.xml檔案,增加如下配置 dfs.access.time.precision 3600000 the access time for hdfs file is precise upto thisvalue.the default...

通過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...