如何将HDFS文件系统挂载到Linux本地文件系统
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 Fayson的github:https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢
1.文档编写目的
Hadoop支持通过NFSv3挂载HDFS文件系统到本地目录,允许用户像访问本地文件系统一样访问HDFS,对于普通用户来说大大的简化了HDFS的使用。该功能通过引入NFS Gateway服务实现,将NFS协议转换为HDFS访问协议。本篇文章主要讲述如何将HDFS文件系统挂载到Linux本地。
- 内容概述
1.安装NFS GateWay服务
2.安装NFS依赖包
3.挂载HDFS目录到本地目录及自动挂载
4.测试NFS挂载
- 测试环境
1.CM和CDH版本为5.11.2
2.安装NFS GateWay服务
1.使用管理员账号登录Cloudera Manager,进入HDFS服务“实例”界面
2.点击“添加角色实例”
3.点击“继续”
4.选择新添加的NFS GateWay服务并启动
启动成功
至此完成HDFS的NFS GateWay服务安装。
3.在Linux下挂载NFS文件系统
由于机器有限,这里Fayson选择集群任意节点(ip-172-31-21-45.ap-southeast-1.compute.internal)进行NFS挂载。
1.登录172.31.21.45服务,安装NFS依赖包
[ec2-user@ip-172-31-21-45 ~]$ sudo yum -y install nfs-utils*
2.创建本地NFS挂载目录
[ec2-user@ip-172-31-21-45 ~]$ sudo mkdir /hdfs_nfs_mount
3.在命令行执行如下命令挂载NFS文件系统
[ec2-user@ip-172-31-21-45 ~]$ sudo mount -t nfs -o vers=3,proto=tcp,nolock ip-172-31-26-80.ap-southeast-1.compute.internal:/ /hdfs_nfs_mount
这里可以看到我们的NFS文件系统目录已挂载成功。
4.自动挂载NFS文件系统
1.编辑/etc/fstab文件,在文件最后行增加如下配置
[ec2-user@ip-172-31-21-45 ~]$ sudo vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Tue Oct 25 15:56:15 2016
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=d8048d39-5ce3-4cdf-9115-416a99b36906 / xfs defaults 0 0
ip-172-31-26-80.ap-southeast-1.compute.internal:/ /hdfs_nfs_mount nfs defaults 0 0
2.重启OS后查看是否挂载成功
5.验证NFS挂载
1.进入/hdfs_nfs_mount目录,列出HDFS根目录下所有的文件
[ec2-user@ip-172-31-21-45 ~]$ cd /hdfs_nfs_mount/
[ec2-user@ip-172-31-21-45 hdfs_nfs_mount]$ ll
HDFS根目录文件列表
通过本地文件系统浏览的目录与HDFS上面的文件系统一致。
2.使用ec2-user用户向本地文件系统/hdfs_nfs_mount/fayson目录拷贝文件
[ec2-user@ip-172-31-21-45 ~]$ cp fayson.keytab /hdfs_nfs_mount/fayson/
[ec2-user@ip-172-31-21-45 ~]$ ll /hdfs_nfs_mount/fayson/
total 28181
-rw------- 1 ec2-user 2584148964 514 Dec 27 08:39 fayson.keytab
-rw-r--r-- 1 ec2-user 2584148964 28855325 Oct 3 10:28 item.csv
[ec2-user@ip-172-31-21-45 ~]$
3.查看HDFS文件系统的/fayson目录
可以看到HDFS文件系统的/fayson目录下文件与本地文件系统/hdfs_nfs_mount/fayson目录文件内容一致。
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看
- 只言片语分析datapump的工作原理(r2第18天)
- 开发 | TensorFlow全新的数据读取方式:Dataset API入门教程
- 用python实现支持向量机对婚介数据的用户配对预测
- SQL*Loader-805的解决(r2笔记36天)
- 用python实现决策树ID3算法,对隐形眼镜类型预测
- 用GA算法设计22个地点之间最短旅程-R语言实现
- 开发 | 谷歌发布TensorFlow 1.4版本:支持分布式训练,迎来三大新变化
- 创建用户时的密码校验问题(r2第34天)
- 巧用xmltype解析clob数据(r2笔记33天)
- R语言-中国各城市PM2.5数据间的相关分析
- 妹子如何运用R语言数据分析选择心仪的对象?
- 生产环境大型sql语句调优实战第一篇(二) (r2笔记32天)
- 生产环境大型sql语句调优实战第一篇(一) (r2笔记第31天)
- 讨论 | 你是否遇到过你完全不能理解的机器学习概念?
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 搭建一个低配版的Mock Server
- Nginx解决跨域资源问题:No 'Access-Control-Allow-Origin' header is present on the requested resource.
- Typecho 仿简书主题 时间轴归档页实现
- Typecho如何添加“编辑”当前文章按钮
- Flutter入门第二讲:项目运行,Hello world
- Flutter入门第一讲:环境搭建(mac os为例)
- 第12天:NLP补充——HMM(隐马尔科夫模型)
- android View事件分发实测
- LeetCode51|寻找旋转排序数组中的最小值
- Yapi 可视化接口平台安装实践
- LeetCode50|搜索旋转排序数组II
- LeetCode49|搜索旋转排序数组
- 第13天:NLP补充——RNN算法
- Android自定义跑马灯效果(适合任意布局)
- Handler Looper.prepareMainLooper();源码分析