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 5月 7 17:49 ./
drwxr-xr-x 24 root root 4096 5月 7 17:44 ../
drwxr-xr-x 3 root 2584148964 96 12月 25 17:10 2014/
drwxr-xr-x 3 root 2584148964 96 2月 9 16:55 2015/
drwxr-xr-x 10 root 2584148964 320 4月 22 17:53 hbase/
drwxr-xr-x 3 root 2584148964 96 4月 29 16:11 lib/
-rw-r--r-- 1 root 2584148964 583045 5月 7 18:00 lzo-2.06.tar.gz
drwxr-xr-x 4 root 2584148964 128 4月 15 10:12 merge/
drwxr-xr-x 3 root 2584148964 96 4月 15 10:26 opt/
drwxr-xr-x 4 root 2584148964 128 5月 6 18:42 out/
drwxr-xr-x 3 root 2584148964 96 4月 8 16:49 target/
drwxr-xr-x 27 root 2584148964 864 5月 7 11:20 test/
drwx------ 18 root 2584148964 576 5月 7 15:21 tmp/
drwxr-xr-x 3 root 2584148964 96 2月 9 10:46 user/
drwxr-xr-x 3 146731693 2584148964 96 3月 27 19:42 usr/
root@localhost:~#
即可在本地查看hdfs上的所有文件
总结
fuse配置起来麻烦,hdfs的nfs配置方式相对简单,依赖的插件少,配置简单,当然里面的acl控制,hdfs的安全需要根据自己的业务进行配置
相关推荐
允许将远程HDFS挂载为本地Linux文件系统,并允许任意应用程序/ Shell脚本以有效且安全的方式将HDFS作为普通文件和目录进行访问。 功能(计划中) 高性能 使用协议缓冲区直接为FUSE和HDFS连接Linux内核(不需要Java...
从本地上传文件到HDFS上的代码!使用hadoop的API操作,使本地文件的代码上传到HDFS上!!!
所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!Linux系统是一个免费使用和自由传播的类Unix操作系统,基于POSIX和UNIX的多用户、多任务、支持多...
Hadoop HDFS的FileSystemAPI操作文件 将准备好的文件上传到hdfs的user/hadoop/music文件下
HDFS数据节点本地缓存的设计与实现,赵婧,王洪波,随着互联网应用的不断丰富和网络数据的急剧增长,海量数据的处理与存储已成为当前互联网应用中的最主要问题之一。Hadoop分布式文件
自己实现的一个简单的HDFS查看器源码。 运行方式:将2个class文件拷贝到namenode的hadoop bin目录下,然后运行 JAVA Main 就可以打开该查看器。 注意事项: hadoop的dfs服务必须启动 必须放在hadoop的bin目录下运行...
2、sqoop导入(RMDB-mysql、sybase到HDFS-hive) 网址:https://blog.csdn.net/chenwewi520feng/article/details/130572275 介绍sqoop从关系型数据库mysql、sybase同步到hdfs、hive中
上传文件到HDFS的java代码实现。已经测试了,可以直接运行。
HDFS是Hadoop分布式计算的存储基础。HDFS具有高容错性,可以部署在通用硬件设备上,适合数据密集型应用,并且提供对数据读写的高吞 吐量。HDFS能 够提供对数据的可扩展访问,通过简单地往集群里添加节点就可以解决...
3、通过datax同步oracle相关-oracle到hdfs 网址:https://blog.csdn.net/chenwewi520feng/article/details/130508968 介绍oracle的相关同步,oracle同步到hdfs中示例以及验证
windows平台下的HDFS文件浏览器,就像windows管理器一样管理你的hdfs文件系统。现在官网已经停止更新这款软件。具体配置如下: HDFS配置页面及端口http://master:50070 配置HDFS服务器 配置WebHDFS HDFS Explorer...
sqoop导入数据到hdfs,所有相关的操作命令均在更改相关地址就行。
4、datax同步sybase相关-sybase到hdfs 网址:https://blog.csdn.net/chenwewi520feng/article/details/130508988 介绍sybase的相关同步,sybase到hdfs同步的示例及验证
hdfs文件的查看 hdfs fs -cat /文件名
(5)下载文件到本地:hdfs dfs -get /hdfs路径 /本地路径 (6)移动hdfs文件:hdfs dfs -mv /hdfs路径 /hdfs路径 (7)复制hdfs文件:hdfs dfs -cp /hdfs路径 /hdfs路径 (8)删除hdfs文件:hdfs dfs -rm...
第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数据) 网页地址:https://blog.csdn.net/chenwewi520feng/article/details/130801752 本文介绍了Druid摄取离线与实时数据的过程,离线数据包括本地文件和...
hdfs命令大全速查手册,平时工作整理,方便快捷!!!
在安装好HDFS的前提下,此项目包含HDFS的基本操作,上传,下载,创建文件夹等。
适合刚接触hadoop的学生或小白,内容包括HDFS shell操作及HDFS Java API编程 有图片有代码