今天公司需要下载几百万的图片数据,由于oss太过昂贵,故此被通知要使用seaweedfs来存储。seaweedfs的简介、搭建和配置这个就不讲了,记录一下使用过程。
因为最近使用python居多,所以查了下seaweedfs的python库,看了下就选择了python-weed库,安装后就可以使用,根据源码中提供的testweed.py,可以很容易就调用python-weed的接口。看了下源码,然后封装了下get和put接口,这里因为主要是下载图片,所以put接口扩展了使用resposne.content的功能(其实就是将response.content做一下io.Bytes的转换后调用crud_create接口)。然后,因为要对接口和批量下载进行测试,所以seaweedfs中存了很多无效数据,需要清理一下。
下面就记录一下批量清除seaweedfs的volume的方法,这个主要是看了一篇githup的帖子https://github.com/chrislusf/seaweedfs/wiki/Volume-Server-API,从而解决了要单独调用接口的问题。
1.清除volume:
先看下本机seaweedfs开启的端口,然后执行命令获取当前的volume的id;【也可以直接查看-dir的volume目录的文件,每个文件名称对应一个volume id】
curl "http://localhost:8081/status?pretty=y"
data@data:/home/lmm/save_filter2db_log$ ps -ef | grep w