通过HDFS FUSE连接并使用文件引擎
本章介绍如何使用HDFS FUSE访问文件引擎。
准备运行环境
安装JDK并设置JAVA_HOME,检查JDK版本:
$JAVA_HOME/bin/java -version
CentOS/RedHat
sudo yum install java-1.8.0-openjdk-devel -y
Ubuntu
sudo apt-get update sudo apt-get install openjdk-8-jdk -y
安装FUSE库:
CentOS/RedHat
sudo yum install fuse fuse-devel fuse-libs -y
Ubuntu
sudo apt-get update sudo apt-get install fuse libfuse-dev -y
下载FUSE客户端
当前提供FUSE客户端下载(基于开源hadoop-2.7.7版本):下载链接
安装FUSE客户端
客户端包解压缩:
tar -zxf ldfs-fuse-2.7.tar.gz && cd ldfs-fuse-2.7
修改连接地址:获取当前实例ID,例如 ld-uxxxxxxxxxx,修改
etc/hadoop/hdfs-site.xml
文件。示例:sed -i 's/\${INSTANCE_ID}/ld-uxxxxxxxxxx/g' etc/hadoop/hdfs-site.xml
创建挂载目录:
sudo mkdir /ldfs_fuse && sudo chown $(whoami):$(whoami) /ldfs_fuse
挂载到目录:
/bin/bash bin/mount_to.sh /ldfs_fuse
查看FUSE盘:
df -h
卸载(可选):
fusermount -u /ldfs_fuse
脚本中的实例ID(ld-uxxxxxxxxxx)与挂载路径(/ldfs_fuse)均为参考示例,安装过程中请修改为实际值
常用操作示例
写文件:
echo 'test' > /ldfs_fuse/test
读文件:
cat /ldfs_fuse/test
删除文件:
rm -f /ldfs_fuse/test
HDFS FUSE挂载后的数据盘仅支持顺序写,不支持随机写
更多操作
FUSE 默认文件副本数为 3,如需更改默认值,可修改配置文件
etc/hadoop/hdfs-site.xml
设置。例如以下配置设置副本数为 2(修改后需要重新挂载生效):
<property>
<name>dfs.replication</name>
<value>2</value>
</property>