CentOS 安装 SeaweedFS

1. SeaweedFS 介绍

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

  1. to store billions of files! (存储数十亿个文件!)
  2. to serve the files fast! (快速提供文件!)

Seaweedfs的中心节点(center master)并不会管理所有文件的元数据而仅仅管理文件卷(file volmume),文件及其元数据的管理是由volume server实现的。这可以缓解center master的并发压力,并且将文件元数据分配到volume server可以实现更快的文件访问(只需一次磁盘读取操作)。

2. SeaweedFS 安装

2.1 下载

访问:https://github.com/seaweedfs/seaweedfs/releases

下载linux_amd64.tar.gz文件到本地,并解压文件

bash 复制代码
tar -xzvf linux_amd64.tar.gz 

2.2 创建目录

bash 复制代码
mkdir -p /data/seaweedfs/master
mkdir -p /data/seaweedfs/vol1
mkdir -p /data/seaweedfs/vol2
mkdir -p /data/seaweedfs/vol3
mkdir -p /data/seaweedfs/filer
mkdir -p /data/seaweedfs/filermount

2.3 启动mster

bash 复制代码
nohup ./weed -v=3 master -mdir=/data/seaweedfs/master -defaultReplication="001" >> /data/seaweedfs/master/wdfsmaster.log &

2.4 启动volume

bash 复制代码
nohup ./weed volume -port=8081 -dir=/data/seaweedfs/vol1 -mserver=localhost:9333 >> /data/seaweedfs/vol1/vol1.log &
​
nohup ./weed volume -port=8082 -dir=/data/seaweedfs/vol2 -mserver=localhost:9333 >> /data/seaweedfs/vol2/vol2.log &
​
nohup ./weed volume -port=8083 -dir=/data/seaweedfs/vol3 -mserver=localhost:9333 >> /data/seaweedfs/vol3/vol3.log &

1、-dir表示数据存储的目录;

2、-mserver表示Master地址;

3、-port监听的端口;

2.4 开启filer服务器

bash 复制代码
#开启filer服务器:
nohup ./weed -v=3 filer -port=8888 -master=localhost:9333 >> /data/seaweedfs/filer/filer.log &

#开启挂载服务器,通过 filer 上传的文件放置目录:/data/seaweedfs/filermount
nohup ./weed mount -filer=localhost:8888 -dir=/data/seaweedfs/filermount -filer.path=/  >> /data/seaweedfs/filermount/wefsmount.log &

3. SeaweedFS 上传(master模式)

上传文件

申请fid

bash 复制代码
curl -X POST http://127.0.0.1:9333/dir/assign

响应结果

json 复制代码
{"fid":"3,0306b095e5","url":"192.168.1.100:8081","publicUrl":"192.168.1.100:8081","count":1}

通过fid和url来进行上传文件

文件访问地址:http://192.168.1.100:8081/3,0306b095e5

删除文件

通过图片地址发起DELETE请求

bash 复制代码
curl -X DELETE http://192.168.1.100:8081/3,0306b095e5

4. SeaweedFS 上传(filer模式)

上传文件

文件访问地址:http://192.168.1.100:8888/test/su7_1.jpg

文件列表地址:http://192.168.1.100:8888/

删除文件

通过图片地址发起DELETE请求

bash 复制代码
curl -X DELETE http://192.168.1.100:8888/test/su7_1.jpg
相关推荐
小陈phd26 分钟前
Vscode LinuxC++环境配置
linux·c++·vscode
运维&陈同学29 分钟前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
是阿建吖!30 分钟前
【Linux】进程状态
linux·运维
明明跟你说过1 小时前
Linux中的【tcpdump】:深入介绍与实战使用
linux·运维·测试工具·tcpdump
Komorebi.py2 小时前
【Linux】-学习笔记05
linux·笔记·学习
Mr_Xuhhh2 小时前
重生之我在学环境变量
linux·运维·服务器·前端·chrome·算法
内核程序员kevin5 小时前
TCP Listen 队列详解与优化指南
linux·网络·tcp/ip
朝九晚五ฺ10 小时前
【Linux探索学习】第十四弹——进程优先级:深入理解操作系统中的进程优先级
linux·运维·学习
自由的dream10 小时前
Linux的桌面
linux
xiaozhiwise10 小时前
Makefile 之 自动化变量
linux