启动hadoop2.0中nfs网关服务的步骤

需要解决两个问题,一是如何启动portmap和nfs网关,二是如何在客户端挂载hdfs;

以下适用于ubuntu 10.04系统及hadoop 2.2.0;

启动portmap和nfs网关

 

编译源码后启动nfs网关需要拷贝的文件目录

hadoop-common-project/hadoop-nfs/target/hadoop-nfs-2.2.0

hadoop-hdfs-project/hadoop-hdfs-nfs/target/hadoop-hdfs-nfs-2.2.0

 

配置(非必须,可以方便以后根据应用进行参数调整)

在hdfs-site.xml中,加入以下内容:


  dfs.access.time.precision
  3600000
  The access time for HDFS file is precise upto this value. 
               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 


启动nfs网关服务

$ hadoop-daemon.sh start portmap  (需要root权限)
$ hadoop-daemon.sh start nfs3     (需要启动hdfs服务的用户账号)

 

注意要先启动portmap再启动nfs3,两者顺序不能调换,否则在showmount的时候出现:clnt_create:RPC: Program not registered

确认相关的服务是否可用

$ rpcinfo -p $nfs_server_ip  $nfs_server_ip是指启动nfs网关服务的ip地址,可以是hdfs中的namenode或者datanode。)

命令输出的内容如下:

    program vers proto   port
    100005    1   tcp   4242  mountd
    100000    2   udp    111  portmapper
    100005    3   tcp   4242  mountd
    100005    2   udp   4242  mountd
    100003    3   tcp   2049  nfs
    100000    2   tcp    111  portmapper
    100005    3   udp   4242  mountd
    100005    1   udp   4242  mountd
    100005    2   tcp   4242  mountd

$ showmount -e $nfs_server_ip

命令输出的内容如下:

Exportlist $nfs_server_ip:
/ *

在客户端挂载HDFS

创建挂载的目录

$mkdir /mnt/hdfs

 

安装mount.nfs

$sudo apt-get install nfs-common

 

开始挂载

$mount.nfs $nfs_server_ip:/ /mnt/hdfs

 

挂载成功后可以进入/mnt/hdfs目录中对hdfs文件进行读写:

$cd /mnt/hdfs/ && ls -l

total 8
drwxr-xr-x  8 hdfs   888  256 Nov 22 00:15 ./
drwxr-xr-x  3 root  root 4096 Nov 22 00:39 ../
drwxr-xr-x  3 hdfs   888   96 Nov 14 01:21 hadoop-test/
drwxr-xr-x 10 hbase  888  320 Nov 15 00:56 hbase/
drwxr-xr-x  7 hdfs   888  224 Nov 20 00:31 home/
drwxr-xr-x  4 hdfs   888  128 Nov 13 22:50 test/
drwxrwxrwx  9 hdfs   888  288 Nov 21 18:35 tmp/
drwxr-xr-x  3 hdfs   888   96 Nov 14 19:16 var/


你可能感兴趣的:(hadoop)