美文网首页
SeaweedFS Mount挂载本地文件目录

SeaweedFS Mount挂载本地文件目录

作者: EdgeE | 来源:发表于2021-09-08 15:09 被阅读0次

seaweedfs可以依赖FUSE 文件系统,将Filer服务当成目录,挂载到指定的系统路径下,这样就可以使用基础系统命令对文件进行touch、cp、rm、mv等操作了。同样,在JAVA程序中也像操作本地目录一样对文件进行操作,文件本身的fid、分布式存储相关信息,就隐藏起来了。

一、 安装FUSE

linux(CentOS 7),直接yum 安装即可

yum install -y fuse

...
Installed:
  fuse.x86_64 0:2.9.2-11.el7

Complete!

MacOS,需要安装OSXFUSE,官网地址:https://osxfuse.github.io
下载后直接安装即可使用。

二、 启动Seaweed相关基础服务

  1. master
#start_master.sh
#!/bin/bash
nohup /seaweedfs/sbin/weed master -defaultReplication=000 -mdir=seaweedfs/data/master -port=9333 -ip=127.0.0.1 -peers=127.0.0.1:9333 > seaweedfs/logs/master.log 2>&1 &

  1. volume
#start_volume.sh
#!/bin/bash
nohup /seaweedfs/sbin/weed volume -dataCenter=dataCenter1 -rack=rack1 -dir=/seaweedfs/data/volume -ip=127.0.0.1 -port=9040 -max=1 -mserver=127.0.0.1:9333 > /seaweedfs/logs/volume.log 2>&1 &

  1. filer
#start_filer.sh
#!/bin/bash
nohup /seaweedfs/sbin/weed filer -master=127.0.0.1:9333 -ip=127.0.0.1 -port=8888 -defaultReplicaPlacement=000 > /seaweedfs/logs/filer.log 2>&1 &

三、启动mount

#start_mount.sh
#!/bin/bash
nohup /seaweedfs/sbin/weed mount -filer=127.0.0.1:8888 -dir=/seaweedfs/mount -filer.path=/filer/mount/ > /seaweedfs/logs/mount.log 2>&1 &

注意观察日志是否有异常。
-dir:需要事先创建一个空目录,用于挂载
-filer.path: 指定filer的路径,完整挂载可以写“/”,也可以指定一个filer路径

四、取消挂载

上一次挂载没有清理完成,有可能会导致重新挂载失败,顺序尝试以下命令,直到生效为止。

// on mac
sudo umount /the/mounted/dir
diskutil unmount force /the/mounted/dir
sudo umount -f /the/mounted/dir
sudo umount -l /the/mounted/dir

// on linux
sudo umount -f /the/mounted/dir
sudo umount -l /the/mounted/dir

官网地址:https://github.com/chrislusf/seaweedfs/wiki/FUSE-Mount

注意:

  1. 有时候seaweed跟挂载目录并不在一个服务器上,则需要保证目录所在服务器可以访问seaweed服务器的8888端口和18888端口,看日志实际RPC调用是走的18888端口。
  2. 尽量保证两个节点的weed版本一致。
  3. MacOS和CentOS的架构不同,如果把服务端的weed直接拷贝到mac上执行是肯定会报错的,需要在官网下载对应版本(CentOS 使用Linux_amd64,MacOS使用darwin_amd64)

相关文章

  • SeaweedFS Mount挂载本地文件目录

    seaweedfs可以依赖FUSE 文件系统,将Filer服务当成目录,挂载到指定的系统路径下,这样就可以使用基础...

  • 自己搭建yum源

    一、创建本地yum源 挂载本地iOS镜像文件linux下挂载到/mnt目录(先不设置开机自动挂载) mount -...

  • Linux mount

    理解Mount 挂载 (mount) 深入理解 bind mount 将目录挂载到目录 mount --bind ...

  • Command - mount 挂载

    重新挂载目录/文件 mount -o remount [-rw 写] [/factory 要挂载的目录] 错误:R...

  • SUSE虚拟机搭建离线Yast源(zypper)安装GCC

    Yast源搭建 挂载ISO镜像新建挂载目录mkdir /mnt/iso挂载iso文件mount -o loop /...

  • docker 存储之volume

    docker 存储之volume 1. bind mount 挂载任意目录或文件 创建挂载点并且挂载docker目...

  • 挂载、卸载

    挂载:mount 磁盘或分区创建好文件系统后--需要挂载-挂载到一个目录(一般mount在/mnt/下)才能够使用...

  • linux本地文件夹挂载

    挂载 sudo mount --bind [源文件夹] [目的文件夹] 绑定挂载后 bind/bind2 目录下的...

  • Linux_108_mount命令

    mount 命令mount命令能够将指定的文件系统挂载到指定的目录上(挂载点,linux系统上的一个文件夹)1.一...

  • Centos7远程挂载windows共享目录

    安装基础软件 执行挂载命令格式:mount -t cifs 远程目录 本地目录 参数注意,密码最好不要有特殊字符 ...

网友评论

      本文标题:SeaweedFS Mount挂载本地文件目录

      本文链接:https://www.haomeiwen.com/subject/yvevwltx.html