seaweed文件模式

seaweed文件模式

   小白     2020年9月3日 07:04     125

1、创建filer.toml文件

weed scaffold –config=filer –output=”.”

-output是生成此文件的路径。

这个文件中配置的是文件元数据存储的方式。

默认的是levedb2,这个就是保存到本地磁盘上。

1.png

 

2、启动和挂载

(1)启动filer

weed filer -master=192.168.0.216:9333 -ip=192.168.0.216 -defaultReplicaPlacement=001 &

这里指定了master,本机ip,和其复制关系。

这里的复制关系也指的是volume的复制。文件不仅仅会在本地存放,还会在volume中保存一份数据,并且会根据replication再volume中存储多份。

所以在读取的时候,不仅仅可以通过路径方式去访问,还能使用fid的方式去访问。

其默认端口是8888,也可以通过port进行指定。

(2)挂载mount

在挂载之前需要安装fuse

yum install -y fuse

weed mount -filer=192.168.0.216:8888 -dir=/usr/local/seaweedfs/file

使用mount挂载之后就能在本地进行文件的管理,上传的文件就会在/usr/local/seaweedfs/file中产生。

2.png

(3)上传

curl -F "filename=@test" http://192.168.0.216:8888/217/

上边就是将文件test上传到服务器的217目录。这个目录如果没有的话,是在服务器中自动生成。

 

3、集群

文件服务可以启动多个,通过peers参数将服务器链接起来。

比如现在有两个文件服务器,只要在两个文件服务器上执行下边的命令,ip那里更改下。

weed filer -master=192.168.0.216:9333 -ip=192.168.0.216 -peers=192.168.0.216:8888,192.168.0.217:8888  -defaultReplicaPlacement=001

这样启动后,在192.168.0.216这台服务器上传的文件,同样用http://192.168.0.217:8888也可以访问。

通过url访问,可以看到两个服务器都有相同的目录结构,如下图。

图片中的端口进行了更改。

无论在哪个服务器进行上传,都可以在另一个服务器中找到文件的备份。

3.png

4.png


 

 

 


其他文章