SeaweedFS是基于go语言开发的高可用文件存储系统,主要特性

1、成存储上亿的文件(最终受制于你的硬盘大小)
2、速度快,内存占用小

上手使用比fastDFS要简单很多,自带Rest API。

SaaWeeDFS作为对象存储库来有效地处理小文件。不是管理中央主机中的所有文件元数据,中央主机只管理文件卷,它允许这些卷服务器管理文件和它们的元数据。
这减轻了来自中央主机的并发压力,并将文件元数据扩展到卷服务器,允许更快的文件访问(仅一个磁盘读取操作)。

每个文件的元数据只有40字节的磁盘存储开销。

访问地址:https://github.com/chrislusf/seaweedfs

一、启动服务

SeaweedFS服务端启动顺序:先启动master,再启动卷volume
1、启动master

weed master

2、挂载卷volume

weed volume -dir="D:\data1" -max=500 -mserver="localhost:9333" -port=9331 &
weed volume -dir="D:\data2" -max=500 -mserver="localhost:9333" -port=9332 &

1、 -dir表示该DataNode数据存储的目录;
2、-max表示volume个数最大值;
3、-mserver表示Master地址;
4、-port该DataNode监听的端口;

启动后可访问浏览器:

http://127.0.0.1:9333/

出现以下界面:

二、上传文件

1、上传一个文件(命令行形式)

weed upload -collection myfiles -master=localhost:9333 XXX.txt
weed upload -collection myfiles -master=localhost:9333 muc.png
weed upload -collection myfiles -master=localhost:9333 王大昕.jpg

2、还可以上传整个目录,比如

weed upload -master=localhost:9333 -dir=one_directory -include=*.pdf

3、上传完会返回一个json结果,记录了文件名、下载地址、fid信息(文件id)

[{"fileName":"XXX.txt","fileUrl":"127.0.0.1:9331/4,012d48fa67","fid":"4,012d48fa
67","size":31}]
[{"fileName":"apps.png","fileUrl":"127.0.0.1:9332/6,087691dca8","fid":"6,087691d
ca8","size":253469}]

三、下载文件

weed download -server=localhost:9333 -dir=one_directory fid1 [fid2 fid3]
-dir指定要下载到本地的路径,fid就是文件id

下载实际文件

weed download -server="localhost:9333" -dir="D:\data3" 4,012d48fa67

四、删除文件

curl -X DELETE http://127.0.0.1:9331/4,012d48fa67

五、在线读文件

http://127.0.0.1:9331/4,012d48fa67
或者
http://127.0.0.1:9331/4,012d48fa67.txt

SeaweedFS对图片有很好的支持,可以指定图片显示的长度、宽度、模式,如:

http://localhost:8080/3/01637037d6.jpg?height=200&width=200
http://localhost:8080/3/01637037d6.jpg?height=200&width=200&mode=fit
http://localhost:8080/3/01637037d6.jpg?height=200&width=200&mode=fill

六、SeaweedFS命令集:

  • benchmark
  • backup
  • compact
  • filer
  • fix
  • server
  • master
  • filer
  • s3
  • upload
  • download
  • shell
  • version
  • volume
  • export
  • mount

SeaweedFS上手使用指南的更多相关文章

  1. Python快速上手JSON指南

    什么是JSON? 网上对JSON有很多教程,有各种各样的解释.一言以蔽之,JSON本质上是一种语法,这种语法的作用是把数据以字符串的形式存储.传递,多用于Web编程. JSON的典型示例 '{ &qu ...

  2. NodeJS 基于 Dapr 构建云原生微服务应用,从 0 到 1 快速上手指南

    Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的.无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架.Dapr 确保开发人员专注 ...

  3. Padrino 生成器指南

    英文版出处:http://www.padrinorb.com/guides/generators Padrino提供了用于快速创建应用的生成器,其优势在于构建推荐的Padrino应用结构.自动生成罗列 ...

  4. iscroll总结

    iScroll基本信息 官网:http://cubiq.org/iscroll-4 更新:2012.07.14 版本:v4.2.5 兼容:iPhone/Ipod touch >=3.1.1, i ...

  5. Jumony Core 3,真正的HTML引擎,正式版发布

    Jumony是一个开源项目,已经有三年的历史了,在这三年中,秉承提供给.NET程序员完整的HTML掌控能力,Jumony历经无数次的改进,终于进入了一个新的阶段.Jumony Core 3是一个真正意 ...

  6. [译]终极塔防——运用HTML5从头创建一个塔防游戏

    翻译共享一篇CodeProject的高星力作,原文地址:http://www.codeproject.com/Articles/737238/Ultimate-Tower-Defense 下载演示项目 ...

  7. iScroll 4.2.5 中文API

    概况 资料来源 http://cubiq.org/iscroll-4 http://www.cnblogs.com/wanghun/archive/2012/10/17/2727416.html ht ...

  8. Jumony Core 3,真正的HTML引擎

    Jumony Core 3,真正的HTML引擎,正式版发布 2013-11-28 17:22 by Ivony..., 778 阅读, 18 评论, 收藏, 编辑 Jumony是一个开源项目,已经有三 ...

  9. iscroll API

    概况 资料来源 http://cubiq.org/iscroll-4 http://www.cnblogs.com/wanghun/archive/2012/10/17/2727416.html ht ...

随机推荐

  1. Windows 10 系统,配置jdk系统环境变量

    1. 下载jdk包,下载路径为:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html, ...

  2. DOM 扩展

    1.选择符API,selectors API 可以使用CSS选择符匹配查找节点 1)  querySelector(selector),接受一个CSS选择符,返回调用该函数的节点后代中第一个匹配的元素 ...

  3. TP-Link 路由器配置 config.bin 解密工具 python 代码 (转载)

    转自吾爱破解 https://www.52pojie.cn/forum.php?mod=viewthread&tid=574222 需要安装crypto #!/usr/bin/env pyth ...

  4. TZOJ 5101 A Game(区间DP)

    描述 Consider the following two-player game played with a sequence of N positive integers (2 <= N & ...

  5. 跑python用ThinkPad好还是MacBook好?

    跑Python,那肯定是服务器操作系统最好,找个方便安装Linux的本子. 我想题主的意图应该是做Python开发吧,如果是Python开发,还要看一下开发方向,如果是网络爬虫.服务器后端编程类的,那 ...

  6. lamp环境搭建(apache安装,mysql安装,php安装)

    1.卸载系统内置的LAMP环境 1)卸载httpd服务(内置Apache) ① 使用rpm指令查询安装的httpd服务 ② 卸载httpd服务 如果出现以上提示,代表系统默认不允许我们卸载软件,使用强 ...

  7. 20175316盛茂淞 2018-2019-2《Java程序设计》第4周学习总结

    20175316盛茂淞 2018-2019-2<Java程序设计>第4周学习总结 教材学习内容总结 第五章 子类与继承 一.继承 1.继承定义:避免多个类间重复定义共同行为 2.子类与父类 ...

  8. mui.init()和mui.plusReady()

    1.每个用到mui的页面都调用下mui.init.2.如果需要使用大H5+对象,就写到plusReady中,如plus对象. HTML5+扩展api是针对手机APP的,只有才手机应用(比如手机浏览器) ...

  9. ABP框架系列之九:(Abp-Session-会话)

    Introduction ASP.NET Boilerplate provides IAbpSession interface to obtain current user and tenant wi ...

  10. Photoshop制作仿等高线着色图

    起因是最近玩游戏The Long Dark,看到贴吧还是Steam上有人放了等高线图,看起来非常炫酷,于是想自己折腾下. 解包了游戏高度图 Matlab绘制如下 自己瞎写的量化+颜色映射如下,Shad ...