zoukankan      html  css  js  c++  java
  • 通过NFSv3挂载HDFS到本地目录

    http://blog.csdn.net/dmcpxy/article/details/18257065


    1.1 配置

    编辑$HADOOP_HOME/etc/hadoop/hdsf-site.xml文件,增加如下配置:

    <property>

     <name>dfs.access.time.precision</name>

     <value>3600000</value>

     <description>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.

     </description>

    </property>

     

    <property>

       <name>dfs.datanode.max.xcievers</name>

       <value>1024</value>

    </property>

     

    <property>

        <name>dfs.nfs3.dump.dir</name>

        <value>/tmp/.hdfs-nfs</value>

    </property>

    ü  上述的属性名称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

     

    1.2 启动

    然后可以启动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机器上的命令

    1.3 测试

    实测如下:

    一台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

    从上面的测试来看,在目前这个环境中:下载速度约为:32m/s,当下载的文件在hdfs的缓存中时,下载速度非常快。

     

    从客户端进行文件上传和下载的速度取决于HDFS部署的硬件环境和datanode的个数。

  • 相关阅读:
    类加载机制的学习4___类加载的过程
    类加载机制的学习3___自定义的类加载器
    类加载机制的学习2_____双亲委派模型
    使用.NET读取exchange邮件
    SSMS错误:A connection was successfully established with the server, but then an error occurred during the login process
    收缩数据库 DBCC SHRINKFILE
    How to: Change Sales Rep/Team via Mass Update
    Microsoft.Office.Interop.Word.Document.Open returns null on Windows Server 2008 R2
    设置文件夹的权限
    NetSuite API
  • 原文地址:https://www.cnblogs.com/leeeee/p/7276137.html
Copyright © 2011-2022 走看看