簡要說明:
使用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
