目的:通过挂载的方式,能够相似訪问本地磁盘的方式一样的訪问Hadoop文件。简单、方便、快捷。

0.系统版本号&hadoop版本号

1)系统版本号

[root@WEB-W031 sbin]# cat /etc/issue
CentOS release 5.8 (Final)

2)Hadoop版本号

[root@WEB-W031 /]# hadoop version
Hadoop 2.7.2
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
Compiled by jenkins on 2016-01-26T00:08Z
Compiled with protoc 2.5.0
From source with checksum d0fda26633fa762bff87ec759ebe689c
This command was run using /home/hadoop/hadoop/share/hadoop/common/hadoop-common-2.7.2.jar
You have new mail in /var/spool/mail/root

1、配置Core-site.xml文件

<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
<description>
The 'nfsserver' user is allowed to proxy all members of the 'users-group1' and
'users-group2' groups. Note that in most cases you will need to include the
group "root" because the user "root" (which usually belonges to "root" group) will
generally be the user that initially executes the mount on the NFS client system.
Set this to '*' to allow nfsserver user to proxy any group.
</description>
</property> <property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
<description>
This is the host where the nfs gateway is running. Set this to '*' to allow
requests from any hosts to be proxied.
</description> </property>

含义解读:

1)hadoop.proxyuser.hadoop.groups:第二个和运行Hadoop的username一致,本測试用的名称为Hadoop。

2)hadoop.proxyuser.hadoop.hosts:第二个和运行Hadoop的username一致。本測试用的名称为Hadoop。

2、配置hdfs-site.xml文件

     <property>
<name>dfs.namenode.accesstime.precision</name>
<value>3600000</value>
<description>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.
</description>
</property> <property>
<name>nfs.dump.dir</name>
<value>/tmp/.hdfs-nfs</value>
</property> <property>
<name>nfs.exports.allowed.hosts</name>
<value>* rw</value>
</property> <property>
<name>nfs.rtmax</name>
<value>1048576</value>
<description>This is the maximum size in bytes of a READ request supported by the NFS gateway. If you change this, make sure you also update the nfs mount's rsize(add rsize= # of bytes to the mount directive).</description>
</property> <property>
<name>nfs.wtmax</name>
<value>65536</value>
<description>This is the maximum size in bytes of a WRITE request supported by the NFS gateway. If you change this, make sure you also update the nfs mount's wsize(add wsize= # of bytes to the mount directive).</description>
</property>

3、配置*/etc/hadoop/log4j.properties

 log4j.logger.org.apache.hadoop.hdfs.nfs=DEBUG
log4j.logger.org.apache.hadoop.oncrpc=DEBUG

4、root用户下停止portmap(Centos 5.X系统)。停止nfs


[root@WEB-W031 etc]# service portmap stop
Stopping portmap: [ OK ]
[root@WEB-W031 hadoop]# service nfs stop

注意:5.X的portmap 等价于 6.X上的rpcbind

并通过:service nfs status 验证是否已经结束。

并通过:service portmap status 验证是否已经结束。

5、开启Hadoop的Portmap服务(须要root权限)

[root]> /sbin/hadoop-daemon.sh –script /bin/hdfs start portmap

6、开启Hadoop的Nfs3服务(须要运行Hadoop的用户权限,本系统为Hadoop)

[hadoop]$ /sbin/hadoop-daemon.sh –script /bin/hdfs start nfs3

7、开启Hadoop并验证(须要运行Hadoop的用户权限,本系统为Hadoop)

[root@WEB-W031 sbin]# ./start-dfs.sh
[root@WEB-W031 sbin]# jps
14728 ResourceManager
27478 Jps
5228 Portmap
14104 NameNode
14373 SecondaryNameNode
16762 org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
13512 Nfs3

8、验证NFS相关服务是否启动成功

1)验证各服务是否成功运行

[root@WEB-W031 hadoop]# rpcinfo -p $nfs_server_ip
program vers proto port
100005 2 tcp 4242 mountd
100000 2 udp 111 portmapper
100000 2 tcp 111 portmapper
100005 1 tcp 4242 mountd
100003 3 tcp 2049 nfs
100005 1 udp 4242 mountd
100005 3 udp 4242 mountd
100005 3 tcp 4242 mountd

2)显示挂载路径

[root@WEB-W031 hadoop]# showmount -e $nfs_server_ip
Export list for WEB-W031:
/ *

9、实施挂载

 [root]>mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync $10.0.1.31:/  /hdfsnew

10、查看挂载是否成功

[root@WEB-W031 hdfsnew]# ls -al
total 10
drwxr-xr-x 5 root 2584148964 160 Mar 11 09:43 .
drwxr-xr-x 31 root root 4096 Mar 11 10:40 ..
drwxr-xr-x 3 root root 96 Mar 11 09:58 testing
drwxrwx--- 3 hadoop 2584148964 96 Mar 9 11:14 tmp
drwxr-xr-x 3 hadoop 2584148964 96 Mar 9 13:24 user
[root@WEB-W031 hdfsnew]# cd testing/
[root@WEB-W031 testing]# ls -al
total 2
drwxr-xr-x 3 root root 96 Mar 11 09:58 .
drwxr-xr-x 5 root 2584148964 160 Mar 11 09:43 ..
-rw-rw-r-- 1 hadoop hadoop 18 Mar 11 10:08 dffafdadafasdfaf
[root@WEB-W031 testing]# echo "testinglaoyang" > testlaoyang
[root@WEB-W031 testing]# ls -al
total 2
drwxr-xr-x 4 root root 128 Mar 11 18:05 .
drwxr-xr-x 5 root 2584148964 160 Mar 11 09:43 ..
-rw-rw-r-- 1 hadoop hadoop 18 Mar 11 10:08 dffafdadafasdfaf
-rw-r--r-- 1 root root 15 Mar 11 18:05 testlaoyang

11、訪问效果

12、结束服务

1)NFS3服务结束(必须和启动hadoop用户一致)

[hadoop]$ */sbin/hadoop-daemon.sh --script */bin/hdfs stop nfs3

2)PortMap服务结束(必须为root用户)

[root]> */sbin/hadoop-daemon.sh --script */bin/hdfs start portmap

3)Hadoop结束(必须和启动hadoop用户一致)

“`

[hadoop@WEB-W031 sbin]# ./stop-dfs.sh

13、常见问题

java 进程 占用了111 端口

[root@WEB-W031 etc]# lsof -i:111

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

java 31206 root 474u IPv4 93384812 0t0 TCP *:sunrpc (LISTEN)

java 31206 root 476u IPv4 93384815 0t0 UDP *:sunrpc



解决方式:kill -9 31206

错误明细

[root@xx sbin]# mount -t nfs -o vers=3,proto=tcp,nolock,noacl,sync localhost:/ /hdfs_y

mount.nfs: Input/output error

注意:一定要注意配置文件的细节含义。

解决方式:

http://stackoverflow.com/questions/35910751/hdfs-nfs-gateway-mount-nfs-input-output-error/35935229#35935229

參考:

https://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-hdfs/HdfsNfsGateway.html#Allow_mounts_from_unprivileged_clients

http://tianxingzhe.blog.51cto.com/3390077/1650182

作者:铭毅天下

转载请标明出处,原文地址:http://blog.csdn.net/laoyang360/article/details/50865025

假设感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力。谢谢!

Hadoop HDFS NFS GateWay部署深入具体解释的更多相关文章

  1. HDFS NFS Gateway

    NFS网关支持NFSv3,并允许将HDFS作为客户端本地文件系统进行挂载.目前,NFS Gateway支持并启用以下使用模式: 用户可以通过NFSv3客户端兼容操作系统上的本地文件系统浏览HDFS文件 ...

  2. Hadoop HDFS 单节点部署方案

    初学者,再次记录一下. 确保Java 和 Hadoop已安装完毕(每个人的不一定一样,但肯定都有数据,仅供参考) [root@jans hadoop-2.9.0]# pwd /usr/local/ha ...

  3. [测试] 试用Hadoop 2.2中的HDFS NFS

    Hadoop 2.2中正式启用了hdfs nfs功能,使得hdfs的通用性迈进了一大步.在公司让小朋友搭建了一下,然后我自己进行了一点简单的试验,有一点收获,记录在此. 理论 使用hdfs nfs功能 ...

  4. Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS、YARN、MR)安装

    虽然我已经装了个Cloudera的CDH集群(教程详见:http://www.cnblogs.com/pojishou/p/6267616.html),但实在太吃内存了,而且给定的组件版本是不可选的, ...

  5. Hadoop 2.7.4 HDFS+YRAN HA部署

    实验环境 主机名称 IP地址 角色 统一安装目录 统一安装用户 sht-sgmhadoopnn-01 172.16.101.55 namenode,resourcemanager /usr/local ...

  6. Hadoop实战:Hadoop分布式集群部署(一)

    一.系统参数优化配置 1.1 系统内核参数优化配置 修改文件/etc/sysctl.conf,使用sysctl -p命令即时生效.   1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  7. 【转帖】Hadoop — HDFS的概念、原理及基本操作

    Hadoop — HDFS的概念.原理及基本操作 https://www.cnblogs.com/swordfall/p/8709025.html 分类: Hadoop undefined 1. HD ...

  8. [大数据] hadoop高可用(HA)部署(未完)

    一.HA部署架构 如上图所示,我们可以将其分为三个部分: 1.NN和DN组成Hadoop业务组件.浅绿色部分. 2.中间深蓝色部分,为Journal Node,其为一个集群,用于提供高可用的共享文件存 ...

  9. Hadoop HDFS (3) JAVA訪问HDFS

    如今我们来深入了解一下Hadoop的FileSystem类. 这个类是用来跟Hadoop的文件系统进行交互的.尽管我们这里主要是针对HDFS.可是我们还是应该让我们的代码仅仅使用抽象类FileSyst ...

随机推荐

  1. 处理不同jQuery版本的兼容性问题

    众所周知,jquery版本很多,而且有些版本的冲突也非常明显,有一些网上流传的很实用的插件是用A版本写的,但是要实现另各功能又必須用B版本.所以实现版本之間的和平相处很重要. 1.这里介绍一个函数,可 ...

  2. 解决docker pull镜像速度慢的问题

    直接下载Docker镜像时,由于种种原因,经常下载失败,即使连接成功也是很慢,怎么办呢 目前我知道可以提升速度的办法:DaoCloud 提供Docker Hub Mirror服务 用户可以进入Dock ...

  3. anchor_target_layer层解读

    总结下来,用generate_anchors产生多种坐标变换,这种坐标变换由scale和ratio来,相当于提前计算好.anchor_target_layer先计算的是从feature map映射到原 ...

  4. Java Servlet 非英文乱码

    response.setHeader("Content-Type", "text/json; charset=UTF-8"); request.setChara ...

  5. 第1节 MapReduce入门:11、mapreduce程序的入门

    1.1.理解MapReduce思想 MapReduce思想在生活中处处可见.或多或少都曾接触过这种思想.MapReduce的思想核心是“分而治之”,适用于大量复杂的任务处理场景(大规模数据处理场景). ...

  6. ORA-28000: the account is locked-详细解决方案

    运行-->cmd-->sqlplus /nolog conn system/orcl(或预设的密码) alter user scott identified by tiger(或预设密码) ...

  7. vue slot的使用介绍

    插槽:slot (不知道我这样理解是不是对的,欢迎大佬指点) 具体是什么样子的,请看例子说明 父组件代码 子组件代码 结果 可以看到 ,结果是父组件里面内容显示了,子组件内容显示了,但是在父组件中插入 ...

  8. aggregate和annotate方法使用详解与示例

    aggregate和annotate方法的使用场景 Django的aggregate和annotate方法属于高级查询方法,主要用于组合查询.当我们需要对查询集(queryset)的某些字段进行计算或 ...

  9. S3C2440的内存情况在NAND FLASH或者NOR FLASH启动的情况下

    1,从NANDFLASH启动时,在ARM上电时,ARM会自动把NANDFLASH前4K的内容拷贝到S3C2440内部SRAM中,同时把SRAM的地址映射到0X00000000.ARM上电后会从SRAM ...

  10. flash-热风焊盘的制作

    计算部分: 热风焊盘的内径(ID)等于钻孔直径+20mil, 外径(OD)等于Anti-pad的直径,通常是比焊盘的直径大20mil. 开口宽度等于(OD-ID)/2+10mil,保留整数位. 如果焊 ...