SeaWeedFS的特性

1、默认master服务器与volume服务器之间的heartbeat时间是5s
2、seaweedfs中的名词简介:
master: 存储文件和fid映射关系
volumn:实际存储文件
datacenter: 数据中心
rack: 机架。一个机架属于特定的数据中心,一个数据中心可以包含多个机架。
collection: 一组volume的集合。如果在存储文件的时候没有指定collection,那么使用默认的""

3、weed help master:查看master的参数
     1)-port : 指定端口号
          -ip : 指定ip地址(默认是localhost)
        -mdir: 指定文件路径
        -peers: 指定多个ip地址   ip:port,ip:port
-volumeSizeLimitMB :指定volume的大小(最大32G)
-defaultReplication:
      000:没有复制,只有一个副本
      001:在同一机架上复制一次
      010:在同一数据中心的不同机架上复制一次
      100:在不同的数据中心复制一次
      200:在另外两个不同的数据中心上复制两次
      110:在不同的机架上复制一次,并在不同的数据中心上复制一次。

4、weed help volume:查看volume的参数
     1)-port: 指定端口号(默认8080)
         -ip : 指定ip地址(默认是localhost)
        -dir: 指定文件路径
-idleTimeout:   空闲连接时间30s
      -index:   内存模式  (LevelDB | boltdb | btree|memory)
        -max:   最大volume个数(默认7个)
    -mserver:   master服务ip(默认localhost:9333)
-pulseSeconds:  master与volume的心跳间隔(默认5s)
        -rack: 当前卷服务器的机架名称
   -dataCenter: 当前volume的数据中心名称
 
5、特性
1) 客户端访问seaweedfs,主要是通过http协议
2) 在seaweedfs是通过raft实现高可用,M-Master挂了,会通过选举算法,在S-Master选举出新的M-Master,然后所有DataNode则将自己的信息上报给新的M-Master
3) 同一个数据中心下不同机架,同一机架下不同的数据节点;数据都是存储在DataNode中;
4) master间通过raft协议实现强一致性
5) Volume是实际管理和存储数据的运行实例
6) 数据的可靠性则可以通过weed-fs提供的 replication机制保证


6、异常情况:
1) 启动两个master
  2) 启动6个volume
  3) 其中非leader的master挂掉,则仍可以向所有vol进行存储、获取数据
  4) 如果leader的master挂掉,则不能进行存储(针对vol), 但是可以进行删除,  出现异常错误:Raft Server not initialized!。 然后重启该master,则之前的master为leader,此时可以进行任何操作, 如果此时结束重启后的master,则仍可以进行任何操作在leader上, 而重启master上不能进行操作,会提示不能连接

        5) 如果volume挂掉,则针对该vol的所有操作失败,但是master可以进行任何操作,只是不能同步到对应的vol上


              以上是本人在实践操作中总结的,如果存在不足欢迎多多指导。。。



你可能感兴趣的:(SeaWeedFS)