使用 Fuse-DFS 挂载文件存储HDFS版

简介: 本文档主要介绍如何使用 Fuse-DFS 工具实现文件存储HDFS版在本地文件系统的映射。

一 目的

本文档主要介绍如何使用 Fuse-DFS 工具实现文件存储HDFS版在本地文件系统的映射。Fuse-DFS 工具在文件存储HDFS版上使用时需要额外的配置,详细操作步骤请参见章节:配置 Fuse-DFS

二 准备工作

  1. 开通文件存储HDFS版服务并创建文件系统实例和挂载点,详情请参见:HDFS快速入门
  2. 在 Hadoop 集群所有节点上安装JDK。版本不能低于1.8。
  3. 建议您使用的 Hadoop 版本不低于2.7.2,本文档中使用的 Hadoop 版本为 Apache Hadoop 2.8.5。
  4. 在 Hadoop 集群中配置好文件存储HDFS版实例,详情请参见:挂载文件系统。
  5. 下载与 Hadoop 集群版本相同的 Hadoop 源码包。下载地址:官方链接

三 配置 Fuse-DFS

Fuse-DFS 是 Hadoop 项目自带的一个功能模块,提供了使用 FUSE(用户空间中的文件系统)在 UNIX 文件系统上映射 HDFS 的功能,在官方提供的 Hadoop 预编译版本中不包含 Fuse-DFS的功能模块,如需使用该功能需要手动编译该功能模块并添加到 Hadoop 客户端中。Fuse-DFS 官方介绍文档请参见:MountableHDFS


  1. 在 Hadoop 客户端上安装依赖并载入 FUSE 模块

执行如下命令

yum -y install fuse fuse-devel fuse-libs
modprobe fuse
  1. 解压 Hadoop 源码包
tar -zxf hadoop-2.8.5-src.tar.gz
  1. 修改代码并编译

在使用 fuse-dfs 挂载文件存储HDFS版到本地文件系统时,会将挂载点地址的前缀 "dfs://" 修改为 "hdfs://" ,导致挂载失败,因此需要修改代码重新编译,操作如下。

vim hadoop-2.8.5-src/hadoop-hdfs-project/hadoop-hdfs-native-client/src/main/native/fuse-dfs/fuse_options.c
#define NEW_HDFS_URI_LOCATION "hdfs://" 修改为 #define NEW_HDFS_URI_LOCATION "dfs://"

执行以下命令仅编译 Hadoop 源码中的 hadoop-hdfs-project 模块下的 hadoop-hdfs-native-client 子模块

cd hadoop-2.8.5-src/
mvn clean package -pl hadoop-hdfs-project/hadoop-hdfs-native-client -Pnative-DskipTests

注意:不同的 Hadoop 版本中子模块的 hadoop-hdfs-native-client 命名及位置可能不同 。在 Hadoop 2.7.x 版本中该模块包含在 hadoop-hdfs-project/hadoop-hdfs 子模块中,Hadoop 2.8.x 及之后的版本都在模块 hadoop-hdfs-project 下。

  1. 配置 Fuse-DFS

将编译出来的 fuse-dfs 拷贝到 Hadoop 客户端的 bin 目录下。

cp hadoop-2.8.5-src/hadoop-hdfs-project/hadoop-hdfs-native-client/target/main/native/fuse-dfs/fuse_dfs  ${HADOOP_HOME}/bin
  1. Hadoop 客户端配置环境变量
vim /etc/profile
exportOS_ARCH=amd64
exportLD_LIBRARY_PATH=${JAVA_HOME}/jre/lib/${OS_ARCH}/server:${HADOOP_HOME}/lib/native
exportCLASSPATH=$CLASSPATH:`${HADOOP_HOME}/bin/hadoop classpath --glob`
  1. 刷新环境变量
source /etc/profile

四 使用 Fuse-DFS

  1. 创建目录
mkdir /mnt/dfs_mount
  1. 挂载文件存储HDFS版到本地目录
fuse_dfs dfs://f-xxxxx.cn-xxx.dfs.aliyuncs.com:10290/ /mnt/dfs_mount

其中,dfs://f-xxxxx.cn-xxx.dfs.aliyuncs.com:10290 为文件存储HDFS版的挂载点,请根据您的实际情况替换。

查看映射到本地的目录

  1. 验证
cd /mnt/dfs_mount
mkdir fuse_test
echo"hello dfs" > fuse_test/fuse.txt

在文件存储HDFS版上查看创建的文件 fuse.txt


  1. 卸载挂载目录
fusermount -u /mnt/dfs_mount

注意事项:客户端重启之后需要您重新挂载文件存储HDFS版到本地,建议您配置开机自动挂载。


了解更多关于文件存储HDFS版的产品信息,欢迎访问https://www.aliyun.com/product/alidfs

如果您对文件存储HDFS版有任何问题,欢迎钉钉扫描以下二维码加入文件存储HDFS版技术交流群。

目录
相关文章
|
弹性计算 运维 网络安全
一次阿里云ECS主机上挂载文件存储NAS的排障过程记录
一次阿里云ECS主机上挂载文件存储NAS的排障过程记录
522 1
一次阿里云ECS主机上挂载文件存储NAS的排障过程记录
|
6月前
|
弹性计算 Linux 网络安全
企业员工Linux终端加入AD域并挂载文件存储
这是企业级用户认证及文件权限控制的延续篇,企业里面如有人使用的Linux客户端如何加入域中,使用共享NAS。
314 0
企业员工Linux终端加入AD域并挂载文件存储
|
存储 弹性计算 网络协议
企业员工Linux终端加入AD域并挂载文件存储
企业用户认证及文件权限控制的延续,将企业中Linux客户端接入AD域,并挂载文件系统。涉及Linux加入AD域,设置自动挂载。这里Linux挂载的是cifs并不是nfs。
547 0
|
分布式计算 网络协议 Hadoop
Hodoop HDFS NFS GateWay 挂载到其他机器深入详解
0.前提有三台机器: 10.0.1.31 为Hadoop NameNode节点机器。 10.1.1.36为Hadoop DataNode节点机器。 10.1.111.13为非Hadoop机器。
296 0
|
弹性计算 网络安全 文件存储
文件存储 HDFS添加挂载点前提条件及步骤
挂载点是文件系统实例在专有网络或经典网络内的一个访问目标地址,每个挂载点都对应一个域名,ECS和容器需要通过此域名访问文件存储HDFS中的数据。文件存储HDFS目前只支持专有网络类型挂载点。
788 0
|
Hadoop
Hodoop HDFS NFS GateWay 挂载到其他机器深入详解
教你如何实现Hodoop HDFS NFS GateWay 挂载到其他机器。
579 0
|
存储 弹性计算 网络安全
阿里云文件存储NAS跨账号挂载
阿里云文件存储NAS跨账号挂载
|
存储 弹性计算 网络安全
阿里云文件存储NAS跨VPC挂载
阿里云文件存储NAS跨VPC挂载最佳实践
18266 0
|
分布式计算 Java Hadoop