======================================1、相关人员====================================== 【人员】:楼斌
======================================2、应用部署说明======================================
依赖包两个:https://pan.baidu.com/s/1S8rlcXiqaDxeJMKNiG3i-w
1.一个go语言依赖,解压后 tar -xvf go1.12.6.linux-amd64.tar.gz 设置环境变量,vim /etc/profile
export GOROOT=/opt/local/go(具体解压路径) export GOARCH=386 export GOOS=linux export GOBIN=$GOROOT/bin export GOTOOLS=$GOROOT/pkg/tool/ export PATH=$PATH:$GOBIN:$GOTOOLS
设置完成后保存,source /etc/profile 生效 go version验证下
2.安装seaweedFS,解压后tar -C /mnt/disk50/seaweedFS/seaweed/ -xzf linux_amd64.tar.gz,创建一些文件夹在当前路径/mnt/disk50/seaweedFS下,
mkdir data
cd data
mkdir fileData
在data 和 fileData下创建必须的文件
cd /mnt/disk50/seaweedFS/data
touch filer_sfs.log
touch t_v1_sfs.log
touch t_v2_sfs.log
mkdir t_v1
mkdir t_v2
cd /mnt/disk50/seaweedFS/data/fileData
touch server_sfs.log
3.在当前路径下启动
nohup ./weed master -mdir=/mnt/disk50/seaweedFS/data/fileData/ -port=9333 -defaultReplication="010" -ip="10.12.107.112" -ip.bind="10.12.107.112" >>/mnt/disk50/seaweedFS/data/fileData/server_sfs.log &
./weed volume -dir=/mnt/disk50/seaweedFS/data/t_v1 -dataCenter="dc1" -rack="dc1rack1" -max=10 -mserver="10.12.107.112:9333" -port=9080 -ip="10.12.107.112" -ip.bind="10.12.107.112" >>/mnt/disk50/seaweedFS/data/t_v1_sfs.log & ./weed volume -dir=/mnt/disk50/seaweedFS/data/t_v2 -dataCenter="dc1" -rack="dc1rack2" -max=10 -mserver="10.12.107.112:9333" -port=9081 -ip="10.12.107.112" -ip.bind="10.12.107.112" >>/mnt/disk50/seaweedFS/data/t_v2_sfs.log &
nohup ./weed filer -master="10.12.107.112:9333" -ip="10.12.107.112" -port=9999 -defaultReplicaPlacement="010" >>/mnt/disk50/seaweedFS/data/filer.out 2>&1 &
查看下进程ps -ef | grep weed
4.-defaultReplication="000" 表示不备份,就存一份(但会造成集群找不到资源跳转volume具体地址的重定向情况) 附:备份策略: 000:没有复制,只有一个副本 001:在同一机架上复制一次 010:在同一数据中心的不同机架上复制一次【建议使用】 100:在不同的数据中心复制一次 200:在另外两个不同的数据中心上复制两次 110:在不同的机架上复制一次,并在不同的数据中心上复制一次
5、最后,测试是否启动成功: 浏览器里输入 http://10.12.107.112:9333/dir/assign
如果启动成功会返回如下json字符串:
{ "fid": "4,02bb481acb", "url": "10.12.107.112:9080", "publicUrl": "10.12.107.112:9080", "count": 1 }
6.nginx配置 参考铜山生产环境157.0.243.27
upstream seaweedfs{ server 172.16.0.8:9080 weight=1; server 172.16.0.8:9081 weight=1; #server 172.16.0.8:9082 weight=1; }
upstream filer{ server 172.16.0.8:9999 weight=1; }
server { listen 9888; server_name 172.16.0.5;
#charset koi8-r; #access_log logs/host.access.log seaweedfs; gzip off; etag off;
location / { add_header Access-Control-Allow-Origin ''; #¿¿¿¿¿¿¿¿ add_header Access-Control-Allow-Credentials 'true'; add_header Access-Control-Allow-Methods 'GET, PUT, POST, DELETE, OPTIONS'; #¿¿¿¿¿¿ add_header Access-Control-Allow-Headers 'Content-Type,'; add_header Cache-Control "no-store, no-cache, must-revalidate"; #¿¿¿¿¿¿¿¿
proxy_http_version 1.1; proxy_cache_revalidate on;
proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 10; proxy_read_timeout 10; proxy_send_timeout 10; if ( $request_uri ~ "\d," ) { proxy_pass http://seaweedfs; } if ( $request_uri ~ "." ) { #expires -1; proxy_pass http://filer; } } }