seaweedfs安装、启动

本文介绍Weed-FS分布式文件系统的集群搭建过程,包括安装步骤和服务启动顺序。详细说明了如何配置Master节点及Volume节点,并解释了Volume结构体的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



####weed-fs集群搭建#####

1、安装步骤:

       1) 安装go

       2) 安装git

       3) 安装 mercurial

       4) go get github.com/chrislusf/seaweedfs/go/weed

             sudo wget https://bintray.com/artifact/download/chrislusf/seaweedfs/weed_0.70beta_linux_amd64.tar.gz

             tar  zxvf weed_0.70beta_linux_amd64.tar.gz


服务端启动顺序:

            先启动master,再启动volume

1、服务启动步骤:

          1)  切换到解压路径下

          2)  执行  ./weed master 启动master               端口是9333,这是它的默认端口。

          3) 启动卷服务,挂载到dir路径下(文件存储服务)

              ./weed volume 

              -dir="/root/webserver/weed_0.70beta_linux_amd64/data" -max=5  -mserver="localhost:9333" -port=9080 

               1、 -dir表示该DataNode数据存储的目录;

               2、-max表示volume个数最大值;

               3、-mserver表示Master地址;

               4、-port该DataNode监听的端口;


     ###存放文件的路径   /root/webserver/weed_0.70beta_linux_amd64/data  

                 data下面包含 xxx.dat与xxx.idx文件中,通过fid确定在哪个卷中 



####weed-fs集群搭建#####

1、安装步骤:

       1) 安装go

       2) 安装git

       3) 安装 mercurial

       4) go get github.com/chrislusf/seaweedfs/go/weed

             sudo wget https://bintray.com/artifact/download/chrislusf/seaweedfs/weed_0.70beta_linux_amd64.tar.gz

             tar  zxvf weed_0.70beta_linux_amd64.tar.gz


服务端启动顺序:

            先启动master,再启动volume

1、服务启动步骤:

          1)  切换到解压路径下

          2)  执行  ./weed master 启动master               端口是9333,这是它的默认端口。

          3) 启动卷服务,挂载到dir路径下(文件存储服务)

              ./weed volume 

              -dir="/root/webserver/weed_0.70beta_linux_amd64/data" -max=5  -mserver="localhost:9333" -port=9080 

               1、 -dir表示该DataNode数据存储的目录;

               2、-max表示volume个数最大值;

               3、-mserver表示Master地址;

               4、-port该DataNode监听的端口;

     ###存放文件的路径   /root/webserver/weed_0.70beta_linux_amd64/data  

                 data下面包含 xxx.dat与xxx.idx文件中,通过fid确定在哪个卷中 


Volume结构体

type Volume struct {

    Id         VolumeId

    dir        string

    Collection string

    dataFile   *os.File

    nm         NeedleMapper

    readOnly   bool

    SuperBlock

   accessLock

  sync.Mutex

   lastModifiedTime uint64 //unix time in seconds

}

VolumeId 通俗易懂,比如 "fid":"3,01f9896771" 里面逗号前面的 3 就是 VolumeId 。

dir 就是该 Volume 所在的目录,

Collection 很有用,每个 Volume 只能对应同一个 Collection,不同 Collection 的图片存储在不同 Volume,后面会讲到。

所以同一个 Volume 只能针对某一个 Collection ,而 同一个 Collection 的图片可能分布在不同的 Volume。 dataFile 就是对应的文件句柄。

nm NeedleMapper 看上去像是个 map ,其实是个列表,包含多个 Needle ,后面会讲到。

readOnly 是否只读

SuperBlock 超块,后面会讲到。

accessLock 互斥锁

lastModifiedTime 最近修改时间



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值