SeaweedFS是一种简单的、高度可扩展的分布式文件系统。它可以:
- 存储数十亿的文件 storage billions of files
- 快速获取文件 serve the files fast
SeaweedFS最初作为一个对象存储来有效地处理小文件。中央主服务器(master)只管理文件卷(volume),而不是管理中央主服务器中的所有文件元数据,它允许这些卷服务器管理文件及其元数据。这减轻了中央主服务器的并发压力,并将文件元数据传播到卷服务器,允许更快的文件访问(只需一个磁盘读取操作)。每个文件的元数据只有40字节的磁盘存储开销。使用O(1)磁盘读取。
docker运行使用
docker run -d -p 9333:9333 -p 8080:8080 -p 8333:8333 -v /Users/aaron/Documents/mySeaweed:/data --name seaweedfs chrislusf/seaweedfs server -s3 -master.volumeSizeLimitMB 1024
# 页面:
http://localhost:9333/
客户端安装:brew install awscli
aws configure set aws_access_key_id seaweedadmin
aws configure set aws_secret_access_key seaweedadmin
aws --endpoint-url http://localhost:8333 s3 mb s3://sfm-bucket-test
echo "This is a CLI test file" > test-cli.txt
上传文件:aws --endpoint-url http://localhost:8333 s3 cp test-cli.txt s3://sfm-bucket-test/
上传文件夹:aws --endpoint-url http://localhost:8333 s3 cp /Users/aaron/Documents/cpfs/qwen2.5/ s3://sfm-bucket-test/qwen2.5 --recursive
查看:aws --endpoint-url http://localhost:8333 s3 ls s3://sfm-bucket-test/ --recursive
附 minio操作
docker run -d \
--name minio \
-p 9000:9000 \
-p 9001:9001 \
-v minio_data:/Users/aaron/Documents/minio \
-e MINIO_ROOT_USER=minioadmin \
-e MINIO_ROOT_PASSWORD=minioadmin \
minio/minio server /data --console-address ":9001"
页面
http://localhost:9001
用户名:minioadmin
密码:minioadmin