Seaweeds配置部署

机器1    10.200.16.136    master&volume

机器2    10.200.17.23      master&volume

机器3    10.200.17.242    master&volume

Go 环境配置

下载

wget http://test.artifactory.intra.ke.com/artifactory/ke-tools-repository/go1.13.1.linux-amd64.tar.gz

解压

tar -zxf go1.13.1.linux-amd64.tar.gz

配置

vim /etc/profile

#加入

export GOPATH=/opt/go

export GOROOT=/usr/local/go

export GOOS=linux

export GOBIN=$GOROOT/bin

export GOTOOLS=$GOROOT/pkg/tool/

export PATH= P A T H : PATH: PATH:GOBIN:$GOTOOLS

使配置文件生效

source /etc/profile

查看

go version

seaweedfs环境配置
master
ip: 10.200.16.136, 10.200.17.23, 10.200.17.242

port: 9333

bin: /usr/local/weed

log: /data0/seaweed/logs/master.log

data: /data0/seaweed/data

volume server
ip:  10.200.16.136, 10.200.17.23, 10.200.17.242

port: 8081,8082,8083

log: /data0/seaweed/logs/volx.log

vol: /data0/seaweed/volume/volx

filer
ip: 10.200.16.136, 10.200.17.23, 10.200.17.242

port: 8888

log:  /data0/seaweed/logs/filer.log

filer storage
redis:

下载

wget  https://github.com/chrislusf/seaweedfs/releases/download/1.50/linux_amd64.tar.gz

解压

tar -zxf linux_amd64.tar.gz

创建运行需要的目录

mkdir -p /data0/seaweedfs/data

mkdir -p /data0/seaweedfs/volume/vol1

mkdir -p /data0/seaweedfs/volume/vol2

mkdir -p /data0/seaweedfs/volume/vol3

mkdir -p /data0/seaweedfs/master.log

mkdir -p /data0/seaweedfs/vol1.log

mkdir -p /data0/seaweedfs/vol2.log

mkdir -p /data0/seaweedfs/vol3.log

mkdir -p /data0/seaweedfs/filer.log

mkdir -p /data0/seaweedfs/mount .log

配置运行master

具体参数查看帮助 /usr/local/weed master -h
https://github.com/chrislusf/seaweedfs/wiki/Master-Server-API

#10.200.16.136

/usr/local/weed -logdir=/data0/seaweedfs/master.log master -mdir=/data0/seaweedfs/data -ip=10.200.16.136 -port=9333 -peers=10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333 -defaultReplication=001&

#10.200.17.23

/usr/local/weed -logdir=/data0/seaweedfs/master.log master -mdir=/data0/seaweedfs/data -ip=10.200.17.23 -port=9333 -peers=10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333 -defaultReplication=001&

#10.200.17.242

/usr/local/weed -logdir=/data0/seaweedfs/master.log master -mdir=/data0/seaweedfs/data -ip=10.200.17.242 -port=9333 -peers=10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333 -defaultReplication=001&

defaultReplication说明:
000 不备份, 只有一份数据
001 在相同的rack里备份一份数据
010 在相同数据中心内不同的rack间备份一份数据
100 在不同的数据中心备份一份数据
200 在两个不同的数据中心各复制2次
110 在不同的rack备份一份数据, 在不同的数据中心备份一次
如果数据备份类型是 xyz形式
各自的意义
x 在别的数据中心备份的份数
y 不相同数据中心不同的racks备份的份数
z 在别的服务器相同的rack的备份份数

配置运行volume

具体参数查看帮助
/usr/local/weed volume -h
官方文档
https://github.com/chrislusf/seaweedfs/wiki/Volume-Server-API
配置volume逻辑卷时, 可以指定数据中心datacenter以及机架rack, 复制模式和数据中心和机架有关, 具体见文档
https://github.com/chrislusf/seaweedfs/wiki/Replication

#10.200.16.136

/usr/local/weed -logdir=/data0/seaweedfs/vol1.log  volume -dir=/data0/seaweedfs/volume/vol1 -mserver=“10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333” -port=8081 -ip=“10.200.16.136” -rack=rack1 -max=100&

/usr/local/weed -logdir=/data0/seaweedfs/vol2.log  volume -dir=/data0/seaweedfs/volume/vol2 -mserver=“10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333” -port=8082 -ip=“10.200.16.136” -rack=rack1 -max=100&

/usr/local/weed -logdir=/data0/seaweedfs/vol3.log  volume -dir=/data0/seaweedfs/volume/vol3 -mserver=“10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333” -port=8083 -ip=“10.200.16.136” -rack=rack1 -max=100&

#10.200.17.23

/usr/local/weed -logdir=/data0/seaweedfs/vol1.log volume -dir=/data0/seaweedfs/volume/vol1 -mserver=“10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333” -port=8081 -ip=“10.200.17.23” -rack=rack1 -max=100&

/usr/local/weed -logdir=/data0/seaweedfs/vol2.log volume -dir=/data0/seaweedfs/volume/vol2 -mserver=“10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333” -port=8082 -ip=“10.200.17.23” -rack=rack1 -max=100&

/usr/local/weed -logdir=/data0/seaweedfs/vol3.log volume -dir=/data0/seaweedfs/volume/vol3 -mserver=“10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333” -port=8083 -ip=“10.200.17.23” -rack=rack1 -max=100&

#10.200.17.242

/usr/local/weed -logdir=/data0/seaweedfs/vol1.log volume -dir=/data0/seaweedfs/volume/vol1 -mserver=“10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333” -port=8081 -ip=“10.200.17.242” -rack=rack1 -max=100&

/usr/local/weed -logdir=/data0/seaweedfs/vol2.log volume -dir=/data0/seaweedfs/volume/vol2 -mserver=“10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333” -port=8082 -ip=“10.200.17.242” -rack=rack1 -max=100&

/usr/local/weed -logdir=/data0/seaweedfs/vol3.log volume -dir=/data0/seaweedfs/volume/vol3 -mserver=“10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333” -port=8083 -ip=“10.200.17.242” -rack=rack1 -max=100&

-rack string 当前volume服务器的rack 名称

-max string Volumes的最大值,count[,count]…(默认”7”)

测试

上传测试

文件上传首先需要请求master, 去分配一个逻辑卷和fid

curl http://10.200.16.136/dir/assign

使用返回的url和fid上传文件

curl -F “file=/Users/boone/Desktop/3l.jpg” 10.200.16.136:8081/1,0198d3181d

wget 10.200.16.136:8081/1,0198d3181d 可以将该图片文件下载下来,

也可以在浏览器直接访问

10.200.16.136:8081/1,0198d3181d

也可以指定图片大小

10.200.16.136:8081/1,0198d3181d?width=100&height=20

#配置运行Filer并挂载到本地目录
Filer允许以另一种方式上传文件
https://github.com/chrislusf/seaweedfs/wiki/Filer-Server-API

  1. 安装启动

生成配置文件
mkdir -p /etc/seaweedfs

cd /etc/seaweedfs

touch filer.toml

mkdir -p /root/sea/filer_path/level

将/usr/local/weed scaffold filer -output=""打印出的内容写入到 filer.toml中, 并且修改其中的配置

可以使用文件, MySQL, redis等保存 filer metadata, 只需要启用或者停用对应的配置

#10.200.16.136

/usr/local/weed -logdir=/data0/seaweedfs/filer.log filer -master=10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333 -ip=10.200.16.136 -port=8888 -defaultReplicaPlacement=001&

#10.200.17.23

/usr/local/weed -logdir=/data0/seaweedfs/filer.log filer -master=10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333 -ip=10.200.17.23 -port=8888 -defaultReplicaPlacement=001&

#10.200.17.242

/usr/local/weed -logdir=/data0/seaweedfs/filer.log filer -master=10.200.16.136:9333,10.200.17.23:9333,10.200.17.242:9333 -ip=10.200.17.242 -port=8888 -defaultReplicaPlacement=001&

  1. mount挂载

https://github.com/chrislusf/seaweedfs/wiki/Mount
可以将filer挂载到本地某个目录进行管理

#10.200.16.136

/usr/local/weed -logdir=/data0/seaweedfs/mount.log mount -filer=10.200.16.136:8888 -dir=/data0/jenkins&

#10.200.17.23

/usr/local/weed -logdir=/data0/seaweedfs/mount.log mount -filer=10.200.17.23:8888 -dir=/data0/jenkins&

#10.200.17.242

/usr/local/weed -logdir=/data0/seaweedfs/mount.log mount -filer=10.200.17.242:8888 -dir=/data0/jenkins&

注:要实现filer高可用,如通过proxy,要同时配置http和grpc proxy

cd /root/sea/mount, 就可以查看具体上传的文件

#python-weed库

推荐使用seaweedfs的python库,https://github.com/darkdarkfruit/python-weed

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值