找回密码
 注册
查看: 433|回复: 0

安装Seaweedfs 全过程

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2022-9-14 10:08:16 | 显示全部楼层 |阅读模式
Seaweedfs 安装
安装Go
1、下载go
2、解压
tar xfgo1.11.10.linux-amd64.tar.gz -C /usr/local/
3、修改/etc/profile
vim /etc/profile
export GOPATH=/opt/go
exportGOROOT=/usr/local/go
export GOOS=linux
exportGOBIN=$GOROOT/bin
exportGOTOOLS=$GOROOT/pkg/tool/
exportPATH=$PATH:$GOBIN:$GOTOOLS
source /etc/profile
安装weed
1、Github下载指定版本
2、上传并解压
tar xflinux_amd64.tar.gz -C /usr/local/
3、创建安装目录
mkdir -p /data/seaweedfs/logs
mkdir -p /data/seaweedfs/data
mkdir -p /data/seaweedfs/vol/vol01
mkdir  -p /data/seaweedfs/vol/vol1/
4、添加启动脚本
vim/data/seaweedfs/weedfs.sh
#!/bin/bash
nohup /data/seaweedfs/weedmaster -mdir="/data/seaweedfs/data/" -ip="192.168.120.47" -ip.bind="192.168.120.47"-port=9333 -peers="192.168.120.47:9333,192.168.120.47:9333,192.168.120.47:9333"-defaultReplication="200" &>> /data/seaweedfs/logs/master.log&
nohup /data/seaweedfs/weedvolume -dataCenter=Center1 -rack rack1 -ip=192.168.120.47 -port=9991 -ip.bind192.168.120.47 -max 20 -dir=/data/seaweedfs/vol/vol1/ -mserver=192.168.120.47:9333-publicUrl 192.168.120.47:9222 &>> /data/seaweedfs/logs/vol1.log  &
nohup ./weed volume-dataCenter dc1 -rack rack1 -dir ./seaweedfs/volume -ip 192.168.88.129 -port9222 -ip.bind 192.168.88.129 -max 20 -mserver192.168.88.129:9333,192.168.88.130:9333,192.168.88.131:9333 -publicUrl192.168.88.129:9222 > ./seaweedfs/volume/volume.log &
nohup /data/weedmaster -mdir="/data/seaweedfs/data/" -ip="192.168.120.47"-ip.bind="192.168.120.47" -port=9333-peers="192.168.120.47:9333,192.168.120.47:9333,192.168.120.47:9333"-defaultReplication="200" >> /data/seaweedfs/logs/master.log2>&1 &
nohup /data/weedvolume -dataCenter=Center1 -ip=192.168.120.47 -port=9991-dir=/data/seaweedfs/vol/vol1/ -mserver=192.168.120.47:9333 >>/data/seaweedfs/logs/vol1.log 2>&1 &
chmod +x/data/seaweedfs/weedfs.sh
5、创建启动程序
vim/usr/lib/systemd/system/weedmaster.service
[Unit]
Description=weedmaster
After=network.target rc-local.service
[Service]
Type=forking
PrivateTmp=true
ExecStart=/data/seaweedfs/weedfs.sh
[Install]
WantedBy=multi-user.target
6、启动seaweedfs
systemctl enableweedmaster
systemctl startweedmaster
http://192.168.120.47:9333/
调试:
nohup /data/seaweedfs/weed master -ip=192.168.120.47-port=9333 -mdir=/data/seaweedfs/data -peers=192.168.120.47:9333,192.168.120.47:9333,192.168.120.47:9333>> /data/seaweedfs/data/master.log &
nohup /data/seaweedfs/weed volume -dataCenter dc1-rack rack1 -dir /data/seaweedfs/volume -ip 192.168.120.47 -port 9222 -ip.bind192.168.120.47 -max 20 -mserver 192.168.120.47:9333,192.168.120.47:9333,192.168.120.47:9333-publicUrl 192.168.120.47:9222 >> /data/seaweedfs/volume/volume.log &
测试:
{"fid":"1,01592b640e","url":"192.168.120.47:9222","publicUrl":"192.168.120.47:9222","count":1}[root@seaweedfs~]#
[root@seaweedfs ~]# curl -Ffile=/data/seaweedfs/volume/volume.log   192.168.120.47:9222/1,01592b640e
{"size":33,"eTag":"d7a0738f"}[root@seaweedfs~]#
[root@seaweedfs ~]# curl -Ffile=@/usr/src/linux_amd64.tar.gz   192.168.120.47:9222/1,01592b640e
{"name":"linux_amd64.tar.gz","size":35348455,"eTag":"0747f50b"}[root@seaweedfs~]#
配置运行Filer并挂载到本地目录
Filer允许以另一种方式上传文件
    5 W. W) D5 Q% ~4 d. Q
  • 安装启动0 m# Y: [6 `; K$ [/ ]
mkdir -p /data/seaweedfs
cd /data/seaweedfs   
创建filter文件:
touch filer.toml
mkdir -p /data/module/filer_path/level
/data/seaweedfs/weed scaffold filer-output="" >filer.toml
打印出的内容写入到 filer.toml, 并且修改其中的配置
dir = "/data/module/filer_path/level"
可以使用文件, MySQL, redis等保存 filer的元数据信息, 只需要启用或者停用对应的配置,具体请参考https://github.com/chrislusf/seaweedfs/wiki/Filer-Server-API

    / @8 p1 J: u7 M0 m; Z  ]
  • 启动
    , j  N: O: @; A$ c
nohup /data/seaweedfs/weed filer-master=192.168.120.47:9333,192.168.120.47:9333,192.168.120.47:9333-ip=192.168.120.47 -port=8888 &

    - s2 r& P2 F" E" ]6 B$ T
  • 上传文件
    + u1 X/ v, y& ~8 ]5 h- M1 s     [root@seaweedfs ~]# curl -F "filename=@/usr/src/go1.11.10.linux-amd64.tar.gz"     "http://192.168.120.47:8888/path/to/sources/"
    : O% j# X  U% X2 @# x" X, D
{"name":"go1.11.10.linux-amd64.tar.gz","size":121074848}[root@seaweedfs~]#
    6 _8 }4 i6 O' U+ E: J. x# @# Y
  • 返回结果
    2 w2 m) M; V: G/ {/ \     {"name":"volume.log","size":1656,"fid":"13,0da7c2b7ff","url":"http://192.168.88.130:9222/13,0da7c2b7ff"}) e4 M$ b" q' Z
         
    可以看到,前面的上传需要两步,现在用filer上传,只需要一步,并且可以指定文件夹,这里的/path/to/sources/就是文件路径
    / ~# L* r0 x( g/ _6 l" c  o
  • 可直接输入http://192.168.120.47:8888/ 地址进行访问.下载和前面的流程一样.
    ( H+ `8 h) u3 F$ ^, ?( r

mount挂载
    * L9 B0 T1 p& f5 w* R+ H
  • [root@seaweedfs ~]# mkdir -p /data/seaweedfs/seaweedfs/data/mount5 u* k" i1 R& ?% B4 p4 [
  • 指定文件管理器挂载到/seaweedfs/data/mount目录下
    ) G9 p1 r5 c4 i9 d9 M2 p
nohup /data/seaweedfs/weed mount-filer=192.168.120.47:8888 -dir=/data/seaweedfs/seaweedfs/data/mount/ &
执行命令后,便可看到通过filer上传的文件已经挂载到了本地/data/seaweedfs/seaweedfs/data/mount/  path/to/sources目录下.* o; g6 O" v' U$ Y' T/ |: h# q9 s
具体信息以官方wiki为主.
1 ^% Z/ J& A2 R1 ?$ Q
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 03:01 , Processed in 0.015509 second(s), 23 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表