SeaweedFS上手使用指南
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监听的端口;
启动后可访问浏览器:
出现以下界面:

二、上传文件
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上手使用指南的更多相关文章
- Python快速上手JSON指南
什么是JSON? 网上对JSON有很多教程,有各种各样的解释.一言以蔽之,JSON本质上是一种语法,这种语法的作用是把数据以字符串的形式存储.传递,多用于Web编程. JSON的典型示例 '{ &qu ...
- NodeJS 基于 Dapr 构建云原生微服务应用,从 0 到 1 快速上手指南
Dapr 是一个可移植的.事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的.无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架.Dapr 确保开发人员专注 ...
- Padrino 生成器指南
英文版出处:http://www.padrinorb.com/guides/generators Padrino提供了用于快速创建应用的生成器,其优势在于构建推荐的Padrino应用结构.自动生成罗列 ...
- iscroll总结
iScroll基本信息 官网:http://cubiq.org/iscroll-4 更新:2012.07.14 版本:v4.2.5 兼容:iPhone/Ipod touch >=3.1.1, i ...
- Jumony Core 3,真正的HTML引擎,正式版发布
Jumony是一个开源项目,已经有三年的历史了,在这三年中,秉承提供给.NET程序员完整的HTML掌控能力,Jumony历经无数次的改进,终于进入了一个新的阶段.Jumony Core 3是一个真正意 ...
- [译]终极塔防——运用HTML5从头创建一个塔防游戏
翻译共享一篇CodeProject的高星力作,原文地址:http://www.codeproject.com/Articles/737238/Ultimate-Tower-Defense 下载演示项目 ...
- iScroll 4.2.5 中文API
概况 资料来源 http://cubiq.org/iscroll-4 http://www.cnblogs.com/wanghun/archive/2012/10/17/2727416.html ht ...
- Jumony Core 3,真正的HTML引擎
Jumony Core 3,真正的HTML引擎,正式版发布 2013-11-28 17:22 by Ivony..., 778 阅读, 18 评论, 收藏, 编辑 Jumony是一个开源项目,已经有三 ...
- iscroll API
概况 资料来源 http://cubiq.org/iscroll-4 http://www.cnblogs.com/wanghun/archive/2012/10/17/2727416.html ht ...
随机推荐
- 即时通信 选择UDP还是TCP协议
之前做过局域网的聊天软件,现在要做运行在广域网的聊天软件.开始接触网络编程,首先是接触到TCP和UDP协议 在网上查资料,都是这样描述 TCP面向连接,可靠,数据流 .UDP无连接,不可靠,数据报.但 ...
- web设计工具
1.工具 WYSIWYG_Web_Builder_12 2.网页 https://bootstrapstudio.io/#purchase
- java项目测试或者不使用request,如何获取webroot路径
1.使用jdk中的方法,然后根据项目编译后的文件存在的位置,获取到classes目录,然后向上级查询获取String path = EngineTest.class.getResource(" ...
- Jupyter Notebook 的快捷键
原文:http://blog.csdn.net/lawme/article/details/51034543 Jupyter Notebook 的快捷键 Jupyter Notebook 有两种键盘输 ...
- 如何配置Java环境变量[转]
https://jingyan.baidu.com/article/fd8044fa2c22f15031137a2a.html
- Django model进阶
Django-model进阶 QuerySet 可切片 使用Python 的切片语法来限制查询集记录的数目 .它等同于SQL 的LIMIT 和OFFSET 子句. >>> Ent ...
- 删除centos7中自带有python2.7
删除centos7中自带有python2. ()强制删除已安装python及其关联 # rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ...
- 原生JS实现图片预览功能
html代码: <div class="album-new fr"> <div class="upload-btn btn-new container& ...
- python 03 字符串详解
1.制表符 \t str.expandtabs(20) 可相当于表格 2.def isalpha(self) 判断是否值包含字母(汉字也为真),不包含数字 3.def isdecimal(se ...
- MyOD
一.实现目的: 编写MyOD.java 用java MyOD XXX实现Linux下od -tx -tc XXX的功能 二.功能简介 1.Linux下的od功能是将指定文件内容以八进制.十进制.十六进 ...