使用fuse将hdfs文件系统挂载远程服务器上,像使用nfs和glusterfs那样可以挂载共享存储
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用户
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
手机扫一扫
移动阅读更方便
你可能感兴趣的文章