hdfs文件系统挂载
简要说明:
使用fuse将hdfs文件系统挂载远程服务器上,像使用nfs和glusterfs那样可以挂载共享存储
fuse安装
fuse可以编译安装或者通过CDH或ambari源yum安装
此处使用ambari
配置ambari官方源,然后就可以yum安装了
sudo wget -nv http://public-repo-1.hortonworks.com/ambari/centos7/2.x/updates/2.6.1.5/ambari.repo -O /etc/yum.repos.d/ambari.repo sudo wget –nv http://public-repo-1.hortonworks.com/HDP/centos7/2.x/updates/2.6.4.0/hdp.repo -O /etc/yum.repos.d/hdp.repo sudo wget -nv http://public-repo-1.hortonworks.com/HDP-GPL/centos7/2.x/updates/2.6.4.0/hdp.gpl.repo -O /etc/yum.repos.d/hdp.gpl.repo yum install hadoop-hdfs-fuse -y
注意:安装fuse只需要在客户端(即需要挂载hdfs的服务器上安装). hadoop集群上不需要安装
hadoop下载地址
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/
部署hadoop集群
略....
此处可以选在自己的安装方法.如:CDH,HDP,或者apache hadoop
就本文来说:hadoop集群地址:
hdfs://192.168.103.220:9000
配置环境变量
export LD_LIBRARY_PATH=/usr/hdp/2.6.4.0-91/usr/lib/:/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH:$HADOOP_HOME/build/c++/Linux-amd64-64/lib:${JAVA_HOME}/jre/lib/amd64/server
echo "user_allow_other" >> /etc/fuse.conf
挂载hdfs文件系统
切换到hdfs用户 cd /usr/hdp/2.6.4.0-91/hadoop ./bin/hadoop-fuse-dfs hdfs://192.168.103.220:9000 /mnt 说明:hdfs://192.168.103.220:9000为需要挂载的hdfs目录,此处表示根,注意端口是否默认还是自定义。注意修改 [root@node1 hadoop]# df -hT 文件系统 类型 容量 已用 可用 已用% 挂载点 /dev/sda3 xfs 18G 15G 3.2G 83% / devtmpfs devtmpfs 1.4G 0 1.4G 0% /dev tmpfs tmpfs 1.4G 0 1.4G 0% /dev/shm tmpfs tmpfs 1.4G 9.7M 1.4G 1% /run tmpfs tmpfs 1.4G 0 1.4G 0% /sys/fs/cgroup /dev/sda1 xfs 97M 97M 96K 100% /boot tmpfs tmpfs 283M 0 283M 0% /run/user/0 fuse_dfs fuse.fuse_dfs 36G 0 36G 0% /mnt [root@node1 hadoop]#
注意权限
使用用户要和hdfs集群用户一致
这时候 在本地读写,在hdfs集群就可以看到数据来
本地:
[hadoop@node1 ~]$ cd /mnt/ [hadoop@node1 mnt]$ ls test [hadoop@node1 mnt]$ echo "aaa" >> test/a.txt [hadoop@node1 mnt]$
集群:
[hadoop@k8s-node2 hadoop-2.7.3]$ ./bin/hadoop fs -cat /test/a.txt 11 111 111 111 222 111 aaa