SeaweedFS是一种简单的、高度可扩展的分布式文件系统。有两个目标:
1)存储数十亿的文件!
2)查看档案快!
SeaweedFS最初作为一个对象存储来有效地处理小文件。中央主服务器只管理文件卷,而不是管理中央主服务器中的所有文件元数据,它允许这些卷服务器管理文件及其元数据。这减轻了中央主服务器的并发压力,并将文件元数据传播到卷服务器,允许更快的文件访问(只需一个磁盘读取操作)。

每个文件的元数据只有40字节的磁盘存储开销。使用O(1)磁盘读取非常简单。
Githup地址为: https://github.com/chrislusf/seaweedfs
官方文档:https://github.com/chrislusf/seaweedfs/wiki
相关背景技术论文:
中文版: http://www.importnew.com/3292.html
英文版: http://static.usenix.org/event/osdi10/tech/full_papers/Beaver.pdf
安装
有两种安装方式,第一种下载编译好的直接使用,第二种是下载源码进行编译。由于暂时不更改源码, 故使用第一种方式运行
下载地址:https://github.com/chrislusf/seaweedfs/releases
下载完成后,解压出来直接运行。
相关定义意义说明
master: 存储文件和fid映射关系
Node 系统抽象的节点,抽象为DataCenter、Rack、DataNode
DataCenter 数据中心,对应现实中的不同机房
Rack 机架,对应现实中的机柜,一个机架属于特定的数据中心,一个数据中心可以包含多个机架。
Datanode 存储节点,用于管理、存储逻辑卷
Volume 逻辑卷,存储的逻辑结构,逻辑卷下存储Needle
Needle 逻辑卷中的Object,对应存储的文件
Collection 文件集,可以分布在多个逻辑卷上,如果在存储文件的时候没有指定collection,那么使用默认的""
所有包含模块
模块 模块说明
Weed master 开启一个master服务器
Weed volume 开启一个volume 服务器
Weed filer 开启一个指向一个或多个master服务器的file服务器
Weed upload 上传一个或多个文件
Weed server 启动一个服务器,包括一个volume服务器和自动选举一个master服务器
以上为主要使用的模块,所有模块请下载我的文档seaweed 文件存储系统详解
模块的参数说明及使用说明
Weed master
参数 类型 说明
-cpuprofile String Cpu profile输出文件
-defaultReplication String 如果没有指定默认备份类型。默认”000”
-garbageThreshold String 清空和回收空间的阈值(默认”0.3”)
-ip String Master 服务器ip地址(默认”localhost”)
-ip.bind String 需要绑定的ip地址(默认”0.0.0.0”)
-maxCpu Int 最大cpu数量。0表示所有可用的cpu
-mdir String 存储元数据的数据目录(默认”/tmp”)
-memprofile String 内存配置文件输出文件
-peers String 逗号分隔所有主节点ip:端口列表,示例127.0.0.1:9093,127.0.0.1: 9094
-port Int http监听端口(默认9333)
-pulseSeconds Int 心跳检测的时间间隔单位为秒(默认5)
-secure.secret String 加密json web token方法
-volumePreallocate 无 为volumes预先分配磁盘空间
-volumeSizeLimitMB Uint Master停止指向过量的volumes写的限定(默认30000)
-whiteList string 逗号分隔具有写权限的Ip地址。如果是空的,没有限制。即白名单

说明
defaultReplication
000 不备份, 只有一份数据
001 在相同的rackj里备份一份数据
010 在相同数据中心内不同的rack间备份一份数据
100 在不同的数据中心备份一份数据
200 在两个不同的数据中心各复制2次
110 在不同的rack备份一份数据, 在不同的数据中心备份一次
如果数据备份类型是 xyz形式
各自的意义
x 在别的数据中心备份的份数
y 不相同数据中心不同的racks备份的份数
z 在别的服务器相同的rack的备份份数

Weed volume
参数 类型 说明
-cpuprofile string Cpu profile输出文件
-dataCenter string 当前volume服务的数据中心名称
-dir string 存储数据文件的目录dir[,dir]…(默认”/tmp”)
-idleTimeout Int 连接空闲时间秒数(默认30)
-images.fix.orientation (true/false) 上传时调整jpg方向
-index string 选择内存~性能平衡模式[memory|leveldb|boltdb|btree]。(默认”memory”)
-ip string Ip地址或服务器名称
-ip.bind string 需要绑定的ip地址(默认”0.0.0.0”)
-max string Volumes的最大值,count[,count]…(默认”7”)
-maxCpu Int 最大cpu数量。0表示所有可用的cpu
-memprofile string 内存配置文件输出文件
-mserver string 用逗号分隔的master服务器列表(默认”localhost:9333”)
-port Int http监听端口号(默认8080)
-port.public Int 端口对外开放
-publicUrl string 公开访问地址
-pulseSeconds Int 心跳之间的秒数,必须小于或等于master 服务器设置(默认5)
-rack string 当前volume服务器的rack 名称
-read.redirect (true/false) 重新定向转移或非本地 volumes
-whiteList string 逗号分隔具有写权限的Ip地址。如果是空的,没有限制。
Weed filer
参数 类型 说明
collection String 所有数据将存储在这个集合中
dataCenter String 首选在此数据中心写入volumes
defaultReplicaPlacement String 如果没有指定默认复制类型(默认“000”)
dirListLimit Int 限制子目录列表大小
disableDirListing 无 关闭目录清单
ip String Filter服务器http监听ip地址
master String 用逗号分隔的master服务器(默认“localhost:9333”)
maxMB Int 分割文件大于限制(默认32)
port Int Filer服务器htp监听端口(默认8888)
port.grpc Int Filer grpc服务器监听端口,默认为 http的端口+10000
port.public Int 对外开放的端口
redirectOnRead 无 在文件GET请求期间是代理还是重定向到volumes服务器
secure.secret String 加密Json Web令牌(JWT)的密钥

Weed upload
参数 类型 说明
collection string 可选的集合名称
dataCenter String 可选的数据中心名称
debug 无 显示debug信息
dir String 如果指定,则递归地上传整个文件夹。
include String 需要上传的文件,跟-dir配合使用,例如*.pdf,*.html,ab?d.txt等
master String Seaweedfs master服务器地址(默认”localhost:9333”)
maxMB Int 如果文件超过指定大小则进行分割
replication String 备份类型
secure.secret String 加密Json Web令牌(JWT)的密钥
ttl string 存活时间 1m,1h,1d,1M,1y

以上是maset volume upload filer 的所有参数说明。是主要的功能。若需要更详细的解释及使用示例,请下载我的文档seaweed 文件存储系统详解

使用接口
申请一个fid
curl http://localhost:9333/dir/assign
上传文件
curl -F file=@/home/chris/myphoto.jpg http://127.0.0.1:8080/3,01637037d6
删除文件
curl -X DELETE http://127.0.0.1:8080/3,01637037d6
申请带存活时间的fid
curl http://localhost:9333/dir/assign?ttl=3m
主要使用的接口, 更详细的接口使用,请下载我的文档seaweed 文件存储系统详解

Seaweedfs 详细说明相关推荐

  1. Seaweed-FS综合使用测试(转)

    2016-03-16 12:17:48 Seaweed-FS综合使用测试 参考信息 https://github.com/chrislusf/seaweedfs/ https://bintray.co ...

  2. 浅析 SeaweedFS 与 JuiceFS 架构异同

    SeaweedFS 是一款高效的分布式文件存储系统,最早的设计原型参考了 Facebook 的 Haystack,具有快速读写小数据块的能力.本文将通过对比 SeaweedFS 与 JuiceFS 在 ...

  3. 【超全】Go语言超详细学习知识体系

    Go语言超详细学习知识体系 Go编程入门 基础语法 环境安装 下载地址 https://golang.google.cn/dl/ GOPATH.GOROOT两个关键环境变量 基础结构 包的概念 程序执 ...

  4. jar包升级部署到服务器详细流程,将服务部署在linux中

    假设你已经准备好以下东西,即可进行服务部署 一台服务器(云服务器或虚拟机皆可) 已安装好的jdk 1.8 + 的环境(可自行百度) 打好的jar包(maven打jar包) 1. 在服务器中新建好你的项 ...

  5. Redis 难题突破,最经典 46 题含详细解析

    1.什么是 Redis? Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库. Redis 与其他 key - value 缓存产品有以下三个特点: (1)R ...

  6. 详细通俗重点CRF层讲解

    本文翻译自GitHub博客上的原创文章,结尾有原文链接.文章没有晦涩的数学公式,而是通过实例一步一步讲解CRF的实现过程,是入门CRF非常非常合适的资料. 相关项目代码: BERT-BiLSMT-CR ...

  7. 超详细中文预训练模型ERNIE使用指南-源码

    作者 | 高开远,上海交通大学,自然语言处理研究方向 最近在工作上处理的都是中文语料,也尝试了一些最近放出来的预训练模型(ERNIE,BERT-CHINESE,WWM-BERT-CHINESE),比对 ...

  8. Bert代码详解(一)重点详细

    这是bert的pytorch版本(与tensorflow一样的,这个更简单些,这个看懂了,tf也能看懂),地址:https://github.com/huggingface/pytorch-pretr ...

  9. 基于PyTorch的Seq2Seq翻译模型详细注释介绍(一)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qysh123/article/deta ...

  10. NLP突破性成果 BERT 模型详细解读 bert参数微调

    https://zhuanlan.zhihu.com/p/46997268 NLP突破性成果 BERT 模型详细解读 章鱼小丸子 不懂算法的产品经理不是好的程序员 ​关注她 82 人赞了该文章 Goo ...

最新文章

  1. java 对象被回收的例子_Java对象的后事处理——垃圾回收(二)
  2. Rapid7警告声明:远程桌面协议(RDP)暴露数百万 Windows 终端
  3. k8s组件说明:ETCD存储组件
  4. 处理SAP Netweaver gateway service使用过程中遇到的404 error
  5. STM32F4+Wi-Fi+EDP 向 OneNet 上传数据
  6. 使用Struts 2的查询网格(无插件)
  7. 测试Word2013发布博客
  8. cte公用表表达式_CTE SQL删除; 在SQL Server中删除具有公用表表达式的数据时的注意事项
  9. html5作品分析报告,性能报告之HTML5 性能测试报告
  10. ESLint检测JavaScript代码
  11. django传递临时数据
  12. ppt编写一个抽奖系统_PPT图片双屏抽奖系统现场主要操作流程介绍
  13. 一键卸载MSSQL_1.2 Beta版
  14. 启动react-native报错 Unrecognized font family 'Ionicons'
  15. 跳一跳python源码_跳一跳源码(python 实现 跳一跳游戏 代码解析)
  16. 基本函数依赖和候选键_给定一组字母表示的函数依赖集,怎样确定候选键?
  17. Makefile隐含规则
  18. APICloud Studio 在海马玩模拟器上调试程序
  19. CentOS8.1启动时出现Failed to start Switch Root错误如何解决?
  20. 《农业机械学报》论文的格式要求

热门文章

  1. bat 等待输入_继续提速——双拼的进阶,音形输入
  2. 高速接口SFP、GbE、SRIO、PCIE、CPRI和SGMII的参考时钟选择问题
  3. DBSCAN聚类算法+demo
  4. Socket(服务器端)通信连接失败解决方法
  5. 什么是单点登陆系统(SSO)?
  6. python怎么对数用log,python中的对数log函数表示及用法
  7. 做自媒体赚钱,分享一个完整的影视剪辑的基本流程
  8. 计算机英语简历模板,计算机专业的英文简历模板
  9. 详解验证码与打码平台的攻防对抗
  10. leetcode 14天算法入门 C语言实现