5.2.2.4.2-SeaWeed-FS安装

优质
小牛编辑
134浏览
2023-12-01

1.1 下载

在Github(https://github.com/chrislusf/seaweedfs/releases)上下载最新的编译好的版本,本次使用的是amd64架构。

1.2 集群拓扑结构

角色IP & Port
Master1127.0.0.1:9333
Master2127.0.0.1:9334
Master3127.0.0.1:9335
Volume1 DC1127.0.0.1:8081
Volume2 DC1127.0.0.1:8082
Volume3 DC2127.0.0.1:8083

1.3 启动集群

集群启动顺序master1>master2>master3,最先启动的master1会成为leader。

  • ./weed -v=3 master -port=9333 -mdir=./master1 –peers=localhost:9333,localhost:9334, localhost:9335 -defaultReplication=100
  • ./weed -v=3 master -port=9333 -mdir=./master2 –peers=localhost:9333,localhost:9334, localhost:9335 -defaultReplication=100
  • ./weed -v=3 master -port=9333 -mdir=./master3 –peers=localhost:9333,localhost:9334, localhost:9335 -defaultReplication=100

启动volume

  • ./weed -v=3 volume -port=8081 -dir=./v1 -mserver=localhost:9333 -dataCenter=dc1 -max=100
  • ./weed -v=3 volume -port=8082 -dir=./v2 -mserver=localhost:9334 -dataCenter=dc1 -max=100
  • ./weed -v=3 volume -port=8083 -dir=./v3 -mserver=localhost:9335 -dataCenter=dc2-max=100

    2. 集群常用操作

    Weed-fs提供了一套restful风格的http API,可以使用curl作为客户端进行交互。

    2.1 存储文件

    2.1.1 上传文件

    # 上传文件时指定文件id
    curl -F file=@/home/chris/myphoto.jpg http://127.0.0.1:8080/3,01637037d6
    
    # 直接上传文件,这种方式会返回文件id
    curl -F file=@/home/chris/myphoto.jpg http://localhost:9333/submit
    

    2.2.2 删除文件

    curl -X DELETE http://127.0.0.1:8080/3,01637037d6
    
    当你删除一个文件时,weed-fs不会自动回收空间,所以需要手动的回收垃圾。
    curl "http://localhost:9333/vol/vacuum"
    

    2.2 目录支持

    weed-fs对目录的支持是通过另外一个server实现的:filer server。也就是说如果想拥有对目录的支持,则必须启动一个(或若干个) filer server,并且所有的操作都要通过filer server进行。Filer server不支持集群架构,可以使用redis作为后端模拟集群架构。