Skip to content

Asever1919/miniFS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目说明

  • 在项目目录使用mvn clean package打包
  • bash workpublish/bin/start.sh启动所有节点
  • bash workpublish/bin/stop.sh关闭所有节点
  • 启动后各节点注册到zookeeper

metaServer

  • 采用jraft实现,至少两节点存活来提供服务
  • raft数据、日志及快照存储在metaServer/raft中
  • raft快照周期为30s,选举超时为1s
  • 共三个节点,HTTP端口为8000/8001/8002,RPC端口为8100/8101/8102
  • 实现了fsck+recovery,自动扩展至三副本,恢复周期为20s

dataServer

  • 共四个节点,HTTP端口为9000/9001/9002/9003
  • 定时上报周期为30s

读写策略

  • 读取时先从ds下载文件到本地,然后打开本地文件流读入
  • 写入时先通过本地文件流写入到文件,然后上传到ds

简单实现一些NAS功能

各模块说明

bin:项目一键启动脚本,用于编译完成后,上传至服务器上,可以将minFS服务整体启动起来

dataServer:主要提供数据内容存储服务能力,单节点无状态设计,可以横向扩容

metaServer:主要提供文件系统全局元数据管理,管理dataserver的负载均衡,主备模式运行

easyClient:一个功能逻辑简单的SDK,用来与metaServer、dataServer通信,完成文件数据操作

About

具有基础功能的分布式文件系统

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published