seaweedfs安装、启动



####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 最近修改时间



你可能感兴趣的:(SeaWeedFS)