seaweedfs调研

概要:

master 存储映射关系,文件和fid的映射关系 weed master

Node 系统抽象的结点,抽象为datacenter、rack、datanode

datacenter 数据中心,包含多个rack,类似一个机房

rack :属于一个datacenter,类似机房中的一个机架

datanode : 存储节点,存储多个volume,类似机架中的一个机器 weed volume

volume :逻辑卷,存储needle

needle: 逻辑卷中的object,对应存储的文件

collection:文件集,默认所有文件都属于""文件集。如果想给某些文件单独分类,可以在申请id的时候指定相同的文件集

filer :指向一个或多个master的file服务器,多个使用逗号隔开。weed filer

weed volume会创建一个 datanode ,可以指定所属的 datacenter rack和master ,会根据配置存储文件,默认一开始没有volume,当开始存储文件的时候才会创建一个volume,当这一个volume大小超过了volumeSizeLimitMB 就会新增一个volume,当volume个数超过了max则该datanode就不能新增数据了。那就需要在通过weed volume命令新增一个datanode。

1.assign接口返回节点固定,不能在集群内均匀分配

首次申请fid时,master会创建这个replica模式下的几个volume,采用随机指定node的方式,创建的这些volume内部记为writable

后续每次分配都从这些writable上分配fid,除非这些已经分配的volume都用满,不会主动分配新volume,此时看起来每次assign返回节点是固定的

如果新扩容volume,或想主动触发生成新volume,可以通过pre-allocate接口触发分配新volume

2.master api写入文件与mount方式写入文件无法互通:

mount通过filer rpc写入,filer通过master rpc申请fid,并把path到fid的映射关系存储在filer存储中

从filer存储中查到fid后可以直接从volume获取文件

自行往filer存储中写入path→fid关系,可以实现两种方式互通

关于读:

客户端读取文件元数据=>Weed Filer=>Weed Filer数据库(LevelDB、Cassandra、Redis、Mysql、Postgres等)
客户端读取文件块=>清除卷服务器

关于写:

客户端将数据上载到剔除卷服务器,并将大文件分成块。
客户端将元数据和块信息写入文件管理器,然后写入文件管理器数据库。

3.filer端口自定义:

-port可以自定义http端口,rpc端口为http端口+10000,rpc端口无法自行配置

  1. filer存储选型

目前只对比redis与mysql

list redis 0.094s 1w个文件
list mysql 0.099s 1w个文件
list redis 4.728s 10w个文件
list mysql 1.211s 10w个文件
write redis 49s 1w次
write mysql 118s 1w次
read redis 25s 1w次
read mysql 23s 1w次
对比可以看到10w量级的list,redis会比mysql慢4倍,但时长仍可接受

read性能差不多,write性能redis比mysql快2.5倍

  1. filer高可用

如通过proxy,要同时配置http和grpc proxy

  1. mount后显示容量

mount后显示容量仅统计已分配的volume,因此看起来会显得容量很少

  1. 通过mv操作数据内容异常

直接mv到mount后的文件夹内,文件内容会有一定概率异常,cp不会,原因尚待排查,估计有bug

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值