SeaweedFS 是一个分布式存储系统,适用于 blob、对象、文件和数据湖,可存储数十亿个文件!
介绍
- Blob 存储具有 O(1) 磁盘查找、云分层
- Filer 支持 Cloud Drive、xDC 复制、Kubernetes、POSIX FUSE 安装、S3 API、S3 网关、Hadoop、WebDAV、加密、纠删码
- 企业版位于 seaweedfs.com
部署
docker
version: '3.9'
services:
master:
image: chrislusf/seaweedfs # use a remote image
ports:
- 9333:9333
- 19333:19333
- 9324:9324
command: "master -ip=master -ip.bind=0.0.0.0 -metricsPort=9324"
volume:
image: chrislusf/seaweedfs # use a remote image
ports:
- 8080:8080
- 18080:18080
- 9325:9325
command: 'volume -mserver="master:9333" -ip.bind=0.0.0.0 -port=8080 -metricsPort=9325'
depends_on:
- master
filer:
image: chrislusf/seaweedfs # use a remote image
ports:
- 8888:8888
- 18888:18888
- 9326:9326
command: 'filer -master="master:9333" -ip.bind=0.0.0.0 -metricsPort=9326'
tty: true
stdin_open: true
depends_on:
- master
- volume
s3:
image: chrislusf/seaweedfs # use a remote image
ports:
- 8333:8333
- 9327:9327
command: 's3 -filer="filer:8888" -ip.bind=0.0.0.0 -metricsPort=9327'
depends_on:
- master
- volume
- filer
webdav:
image: chrislusf/seaweedfs # use a remote image
ports:
- 7333:7333
command: 'webdav -filer="filer:8888"'
depends_on:
- master
- volume
- filer
prometheus:
image: prom/prometheus:v2.21.0
ports:
- 9000:9090
volumes:
- ./prometheus:/etc/prometheus
command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml
depends_on:
- s3
参数
-volumeSizeLimitMB
限制每个 volume 的大小,参考
helm chart
使用
weed/shell
echo "s3.bucket.create -name s3bucket " | weed shell
echo "s3.configure -access_key=s3bucket -secret_key=key123456 -buckets=s3bucket -user=s3bucket-actions=Read,Write,List,Tagging,Admin -apply" | weed shell
echo "mkdir buckets/s3bucket/2023/1" | weed shell
s3
# https://github.com/seaweedfs/seaweedfs/wiki/S3-Credentials#dynamic-configuration-weed-shell
s3.configure -access_key=<your_access_key> -secret_key=<your_secret_key> -buckets=<bucket_name_or_list> -user=<username> -actions=<actions_list> -apply
s3.configure -access_key=YOUR_ACCESS_KEY_ID -secret_key=YOUR_SECRET_ACCESS_KEY -buckets=mybucket -user=myuser -actions=Read,Write -apply
F&Q
error: no free ec shard slots. only 0 left
seaweedfs volume ... -minFreeSpace 80GiB
参考