`

NFS挂载hdfs到本地

阅读更多

NFS挂载hdfs到本地

 

nfs hdfs nfs hdfs

 

hdfs挂载: hdfs是分布式系统,要想访问hdfs上的文件,可以用java api 或者hadoop shell等工具,如果想操作hdfs文件系统就像操作本地文件系统一样的便捷,可以将hdfs文件系统挂载到本地的一个目录上,那么挂载的方式有两种:

  • fuse 挂载:需要另外安装fuse工具,详细请参考: 
    http://duguyiren3476.iteye.com/blog/2054506
  • nfs挂载:apache hadoop2.x以后的版本中自带了一个nfs3的插件服务,下面将详细讲解nfs挂载的方式。 

 

测试环境

  • apache hadoop 2.5.2
  • jdk 1.7
  • ubuntu 14.04

NFS挂载hdfs

Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— 维基百科

配置core-site.xml

<property>
    <name>hadoop.proxyuser.nfsserver.groups</name>
    <value>*</value>
    <description>允许所有用户组用户代理</description>
</property>
<property>
    <name>hadoop.proxyuser.nfsserver.hosts</name>
    <value>localhost</value>
    <description>允许挂载的主机域名</description>
</property>
</property>

修改hdfs-site.xml

<property>
    <name>nfs.dump.dir</name>
    <value>/tmp/.hdfs-nfs</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>
<property>
    <name>nfs.exports.allowed.hosts</name>
    <value>* rw</value>
    <description>允许所有主机对文件有rw权限</description>
</property>

重启hadoop集群服务

root@localhost:/opt/hdfsnfs# /opt/work/hadoop/sbin/stop-all.sh

root@localhost:/opt/hdfsnfs# /opt/work/hadoop/sbin/stop-all.sh

以上启动,只需启动hdfs服务即可

关闭本机的nfs服务

centos关闭nfs服务

      service nfs stop
      service rpcbind stop

ubuntu关闭nfs服务

root@localhost:/opt/hdfsnfs# /etc/init.d/nfs-kernel-server stop
root@localhost:/opt/hdfsnfs# /etc/init.d/rpcbind stop

如果没有nfs服务则可略过

启动hadoop nfs

root@localhost:/opt/hdfsnfs# /opt/work/hadoop/sbin/hadoop-daemon.sh start portmap
root@localhost:/opt/hdfsnfs# /opt/work/hadoop/sbin/hadoop-daemon.sh start nfs3

停止服务

root@localhost:/opt/hdfsnfs# /opt/work/hadoop/sbin/hadoop-daemon.sh stop portmap
root@localhost:/opt/hdfsnfs# /opt/work/hadoop/sbin/hadoop-daemon.sh stop nfs3

查看本机挂载状况

root@localhost:/opt/hdfsnfs# showmount -e localhost
Export list for localhost:
/ *
root@localhost:/opt/hdfsnfs# 

上述的localhost是指第一步的core-site.xml中的hadoop.proxyuser.nfsserver.hosts的值 
如果出现上述的 / *说明服务启动成功

挂载到本地制定目录

root@localhost:~# mkdir -p /opt/hdfsnfs   #创建挂载的目标点
root@localhost:~# mount -t nfs -o vers=3,proto=tcp,nolock,noacl localhost:/  /opt/hdfsnfs/
root@localhost:~# ll /opt/hdfsnfs/
总用量 581
drwxr-xr-x 15 root      2584148964    480  57 17:49 ./
drwxr-xr-x 24 root      root         4096  57 17:44 ../
drwxr-xr-x  3 root      2584148964     96 1225 17:10 2014/
drwxr-xr-x  3 root      2584148964     96  29 16:55 2015/
drwxr-xr-x 10 root      2584148964    320  422 17:53 hbase/
drwxr-xr-x  3 root      2584148964     96  429 16:11 lib/
-rw-r--r--  1 root      2584148964 583045  57 18:00 lzo-2.06.tar.gz
drwxr-xr-x  4 root      2584148964    128  415 10:12 merge/
drwxr-xr-x  3 root      2584148964     96  415 10:26 opt/
drwxr-xr-x  4 root      2584148964    128  56 18:42 out/
drwxr-xr-x  3 root      2584148964     96  48 16:49 target/
drwxr-xr-x 27 root      2584148964    864  57 11:20 test/
drwx------ 18 root      2584148964    576  57 15:21 tmp/
drwxr-xr-x  3 root      2584148964     96  29 10:46 user/
drwxr-xr-x  3 146731693 2584148964     96  327 19:42 usr/
root@localhost:~# 

即可在本地查看hdfs上的所有文件

总结

fuse配置起来麻烦,hdfs的nfs配置方式相对简单,依赖的插件少,配置简单,当然里面的acl控制,hdfs的安全需要根据自己的业务进行配置

分享到:
评论
2 楼 zhangyou1010 2017-06-05  
zhangyou1010 写道
请教,我执行mount -t nfs -o vers=3,proto=tcp,nolock,noacl localhost:/  /opt/hdfsnfs/ 命令后,提示:mount.nfs: mount system call failed

不知道博主是否有遇到过类似问题?谢谢。



该问题,已经解决。谢谢。
1 楼 zhangyou1010 2017-06-05  
请教,我执行mount -t nfs -o vers=3,proto=tcp,nolock,noacl localhost:/  /opt/hdfsnfs/ 命令后,提示:mount.nfs: mount system call failed

不知道博主是否有遇到过类似问题?谢谢。

相关推荐

    hdfs-mount:将HDFS挂载为本地Linux文件系统的工具

    允许将远程HDFS挂载为本地Linux文件系统,并允许任意应用程序/ Shell脚本以有效且安全的方式将HDFS作为普通文件和目录进行访问。 功能(计划中) 高性能 使用协议缓冲区直接为FUSE和HDFS连接Linux内核(不需要Java...

    本地文件上传到HDFS的demo代码

    从本地上传文件到HDFS上的代码!使用hadoop的API操作,使本地文件的代码上传到HDFS上!!!

    Linux系统设计-hdfs-mount 把hdfs文件系统挂载到Linux本地文件系统,实现了大部分的操作

    所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!Linux系统是一个免费使用和自由传播的类Unix操作系统,基于POSIX和UNIX的多用户、多任务、支持多...

    本地文件上传到HDFS

    Hadoop HDFS的FileSystemAPI操作文件 将准备好的文件上传到hdfs的user/hadoop/music文件下

    论文研究-HDFS数据节点本地缓存的设计与实现 .pdf

    HDFS数据节点本地缓存的设计与实现,赵婧,王洪波,随着互联网应用的不断丰富和网络数据的急剧增长,海量数据的处理与存储已成为当前互联网应用中的最主要问题之一。Hadoop分布式文件

    HDFS本地查看器

    自己实现的一个简单的HDFS查看器源码。 运行方式:将2个class文件拷贝到namenode的hadoop bin目录下,然后运行 JAVA Main 就可以打开该查看器。 注意事项: hadoop的dfs服务必须启动 必须放在hadoop的bin目录下运行...

    2、sqoop导入(RMDB-mysql、sybase到HDFS-hive)

    2、sqoop导入(RMDB-mysql、sybase到HDFS-hive) 网址:https://blog.csdn.net/chenwewi520feng/article/details/130572275 介绍sqoop从关系型数据库mysql、sybase同步到hdfs、hive中

    上传文件到HDFS

    上传文件到HDFS的java代码实现。已经测试了,可以直接运行。

    HDFS Comics HDFS 漫画

    HDFS是Hadoop分布式计算的存储基础。HDFS具有高容错性,可以部署在通用硬件设备上,适合数据密集型应用,并且提供对数据读写的高吞 吐量。HDFS能 够提供对数据的可扩展访问,通过简单地往集群里添加节点就可以解决...

    3、通过datax同步oracle相关-oracle到hdfs

    3、通过datax同步oracle相关-oracle到hdfs 网址:https://blog.csdn.net/chenwewi520feng/article/details/130508968 介绍oracle的相关同步,oracle同步到hdfs中示例以及验证

    HDFS管理工具HDFS Explorer下载地址、使用方法.docx

    windows平台下的HDFS文件浏览器,就像windows管理器一样管理你的hdfs文件系统。现在官网已经停止更新这款软件。具体配置如下: HDFS配置页面及端口http://master:50070 配置HDFS服务器 配置WebHDFS HDFS Explorer...

    sqoop导入数据到hdfs路径

    sqoop导入数据到hdfs,所有相关的操作命令均在更改相关地址就行。

    4、datax同步sybase相关-sybase到hdfs

    4、datax同步sybase相关-sybase到hdfs 网址:https://blog.csdn.net/chenwewi520feng/article/details/130508988 介绍sybase的相关同步,sybase到hdfs同步的示例及验证

    HDFS文件的查看

    hdfs文件的查看 hdfs fs -cat /文件名

    Hadoop原理与技术hdfs命令行基本操作

    (5)下载文件到本地:hdfs dfs -get /hdfs路径 /本地路径 (6)移动hdfs文件:hdfs dfs -mv /hdfs路径 /hdfs路径 (7)复制hdfs文件:hdfs dfs -cp /hdfs路径 /hdfs路径 (8)删除hdfs文件:hdfs dfs -rm...

    hdfs源码.zip

    第1章 HDFS 1 1.1 HDFS概述 1 1.1.1 HDFS体系结构 1 1.1.2 HDFS基本概念 2 1.2 HDFS通信协议 4 1.2.1 Hadoop RPC接口 4 1.2.2 流式接口 20 1.3 HDFS主要流程 22 1.3.1 HDFS客户端读流程 22 1.3.2 ...

    3、Druid的load data 示例(实时kafka数据和离线-本地或hdfs数据)

    3、Druid的load data 示例(实时kafka数据和离线-本地或hdfs数据) 网页地址:https://blog.csdn.net/chenwewi520feng/article/details/130801752 本文介绍了Druid摄取离线与实时数据的过程,离线数据包括本地文件和...

    hdfs命令大全

    hdfs命令大全速查手册,平时工作整理,方便快捷!!!

    HDFS实例基本操作

    在安装好HDFS的前提下,此项目包含HDFS的基本操作,上传,下载,创建文件夹等。

    实验二、HDFS shell操作及HDFS Java API编程

    适合刚接触hadoop的学生或小白,内容包括HDFS shell操作及HDFS Java API编程 有图片有代码

Global site tag (gtag.js) - Google Analytics