seaweedfs的入门安装体验

引子

今天聊一下SeaweedFS。

SeaweedFS简介

SeaweedFS是一个简单且高度可扩展的分布式文件系统。有两个目标:

  1. 存储数十亿个文件!
  2. 快速提供文件!

SeaweedFS根据这个Facebook的Haystack(https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Beaver.pdf)设计的。

SeaweedFS最初是作为对象存储来有效处理小文件的。代替管理中央主机中的所有文件元数据,中央主机仅管理文件卷,并允许这些卷服务器管理文件及其元数据。这样可以减轻来自中央主机的并发压力,并将文件元数据分散到卷服务器中,从而可以更快地访问文件(O(1),通常只是一个磁盘读取操作)

安装

1.下载地址:

https://github.com/chrislusf/seaweedfs/releases/tag/2.07 大家选择自己需要的版本。

我这下载的是:windows_amd64.zip。文件不大,压缩包26M左右。

2.解压

将刚才下载的压缩包解压,只有一个weed.exe文件。非常简单。

seaweedfs的入门安装体验

启动

1.启动主服务器

./weed master  

注释提出有个问题。默认启动后的IP是这个:导致后面启动卷服务器启动后,连接不到主服务器.
seaweedfs的入门安装体验

2.启动服务器

./weed volume -dir="./tmp" -max=5  -mserver="localhost:9333" -port=8080

提示连接不到169.254.195.109:9333。我的ip也不是这个。怎么会连接这个那。
seaweedfs的入门安装体验

体验翻车

seaweedfs的入门安装体验

卷服务器启动后一直在报错,连接不到主服务器。提示连接不到169.254.195.109:9333。我的ip也不是这个。怎么会连接这个那。网上搜了一下没有说明。后来查看了一下help才知道问题啥

./weed -help

seaweedfs的入门安装体验

还是没有发现。突然 master启动的问题。 试了一下

./weed master -help

seaweedfs的入门安装体验

这个时候才发现有-ip的参数:

-ip string

master | address (default “169.254.195.109”)

才知道。如果不指定ip的默认为是169.254.195.109。唉,感觉这是一个坑,不知道为啥,不是获取本机的IP,而是默认固定一个IP

重新启动

1.启动主服务器

./weed master -ip=localhost

# 指定IP地址参数

2.启动服务器

./weed volume -dir="./tmp" -max=5  -mserver="localhost:9333" -port=8080  -ip=localhost

这次没有问题了

seaweedfs的入门安装体验
seaweedfs的入门安装体验

测试

1.访问

http://localhost:9333/ 出现以下,表示成功了。

seaweedfs的入门安装体验

2上传文件

要上传文件:首先,发送HTTP POST,PUT或GET请求/dir/assign以获取fid和卷服务器URL

curl http://localhost:9333/dir/assign
{"fid":"2,01cf7b3467","url":"localhost:8080","publicUrl":"localhost:8080","count":1}

其次,要存储文件内容,请url \’/\’ fid从响应中发送一个HTTP多部分POST请求:

curl -F file=@G:\soft\windows_amd64.zip http://127.0.0.1:8080/2,01cf7b3467
{"name":"windows_amd64.zip","size":27717089,"eTag":"ec79ea2e5def58bec7ad3a5b679fcc54"}
seaweedfs的入门安装体验

在页面查看,发现有一个文件。

seaweedfs的入门安装体验
seaweedfs的入门安装体验

2.保存文件的id

我们可以将fid:2,01cf7b3467保存到数据库字段中。

开头的数字2表示卷ID。逗号后是一个文件密钥01和一个文件cookie cf7b3467。

卷ID是32位无符号整数。文件密钥是一个无符号的64位整数。文件cookie是32位无符号整数,用于防止URL猜测。

3.下载文件

浏览器中打开: http://localhost:8080/2,01cf7b3467.zip

或者: curl -o 2,01cf7b3467.zip http://localhost:8080/2,01cf7b3467.zip
seaweedfs的入门安装体验
seaweedfs的入门安装体验

4.删除

要删除,请将HTTP DELETE请求发送到相同的url \’/\’ fidURL:

curl -X DELETE http://127.0.0.1:8080/2,01cf7b3467

后记

今天先写到这,后面有时间在分享更多的用法。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/share/13200.html

发表评论

登录后才能评论