FastDfs单点集群部署

目录

1 参考文档    3

1.1 简介    3

1.2 fastDFS github下载地址(nginx插件也在此下载)    3

1.3 fastDFS github安装教程    3

1.4 参考安装文档    3

1.5 java client连接示例    3

2 fastDFS简介    3

3 安装环境    4

4 单点安装    4

4.1 安装必要的依赖包    4

4.2 安装libfatscommon    4

4.3 安装fastDFS    4

4.4 安装fastdfs-nginx-modulenginx插件版本与fastDFS版本是对应得5.11应使用1.20    5

4.5 安装nginx    5

4.6 创建数据与日志存储目录    6

4.7 配置tracker    6

4.8 配置storage    6

4.9 启动tracker 启动 storage    7

4.10 配置client测试是否可以上传文件    7

4.11 配置nginx访问    7

4.12 测试nginx web下载    8

5 增加group存储文件    8

5.1 更改配置文件,选择增加的group做何用    8

5.2 创建group2的数据及日志存放路径    9

5.3 在单机单group的基础上更改配置文件(只需要更改两个配置文件,storage_group2.conf, mod_fastdfs.conf)    9

5.3.1 复制一份storage.conf配置文件为storage_group2.conf    9

5.3.2 修改storage_group2.conf配置文件    9

5.3.3 修改mod_fastdfs.conf配置文件    10

5.4 启动trackerd,启动两个storaged    10

5.5 启动nginx 更改完mod_fastdfs.conf 后,例如添加了group 需要重启nignx,不然不生效。    10

5.6 测试group2的上传下载是否成功    10

6 fastDFS集群    11

6.1 两台服务器    11

6.2 安装必要的依赖包(两台同时操作)    11

6.3 安装libfatscommon (两台同时操作)    12

6.4 安装fastDFS (两台同时操作)    12

6.5 安装fastdfs-nginx-modulenginx插件版本与fastDFS版本是对应得5.11应使用1.20)(两台同时操作)    12

6.6 安装nginx(两台同时操作)    13

6.7 创建数据与日志存储目录 (两台同时操作)    13

6.8 配置tracker(两台同时操作)    13

6.9 配置storage(两台同时操作)    14

6.10 启动tracker 启动 storage (两台同时操作)    14

6.11 配置client测试是否可以上传文件    14

6.12 配置nginx访问(两台同时操作)    15

6.13 测试nginx web下载(可以下载说明nginx没有问题)    16

6.14 配置nginx负载均衡(10.0.0.6上)    16

6.15 访问测试(顺便观察日志,查看是否是轮询分配到两台服务器的)    16

7 常用命令    17

7.1 fdfs_monitor查看确认storage是否自动注册到tracker    17

7.2 启动tracker 启动 storage    17

7.3 添加文件到fastdfs    17

7.4 删除添加到fastdfs得文件    17

7.5 删除fastdfsstoraged节点    17

 

 

 

 

 

 

 

 

  1. 参考文档

  2. 简介

https://blog.csdn.net/bjgaocp/article/details/88561854?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

 

  1. fastDFS github下载地址(nginx插件也在此下载)

https://github.com/happyfish100

  1. fastDFS github安装教程

https://github.com/happyfish100/fastdfs/wiki

 

  1. 参考安装文档

https://blog.csdn.net/qq_34301871/article/details/80060235

 

  1. java client连接示例

https://github.com/happyfish100/fastdfs-client-java

 

  1. fastDFS简介

 

 

 

 

 

 

 

  1. 安装环境

系统版本

CentOS Linux release 7.7.1908 (Core)

内核版本

Linux iZ8vbi0h0xw72d5qfizju9Z 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

fastDFS版本

fastdfs-5.11.zip

nginx版本

nginx-1.16.1.tar.gz

nginx fastDFS插件版本

https://github.com/happyfish100/fastdfs-nginx-module/tree/V1.20

nginx fastDFS插件版本 和fastDFS的版本是相对应的

 

 

  1. 单点安装

  2. 安装必要的依赖包

yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

 

  1. 安装libfatscommon

git clone https://github.com/happyfish100/libfastcommon.git --depth 1

cd libfastcommon/

/make.sh && ./make.sh install

echo $?

 

  1. 安装fastDFS

cd ~

unzip fastdfs-5.11.zip

cd fastdfs-5.11/

./make.sh && ./make.sh install

echo $?

 

#复制配置文件

cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用

cp /root/fastdfs-5.11/conf/http.conf /etc/fdfs/ #nginx访问使用

cp /root/fastdfs-5.11/conf/mime.types /etc/fdfs/ #nginx访问使用

 

 

  1. 安装fastdfs-nginx-module(nginx插件版本与fastDFS版本是对应得5.11应使用1.20)

https://github.com/happyfish100/fastdfs-nginx-module/tree/V1.20

unzip fastdfs-nginx-module-1.20.zip

cp fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/

 

#更改config文件,不然nginx添加模块找不到路径会报错,更改文件以下两个选项

vim /root/fastdfs-nginx-module-1.20/src/config

ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"

CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

 

  1. 安装nginx

tar xf nginx-1.16.1.tar.gz

cd nginx-1.16.1/

 

./configure --prefix=/etc/nginx-1.16.1 --user=nobody --group=noboby --pid-path=/var/run/nginx.pid --with-stream --add-module=/root/fastdfs-nginx-module-1.20/src

 

make && make install

 

ln -s /etc/nginx-1.16.1/ /etc/nginx

ln -s /etc/nginx/sbin/nginx /usr/local/bin/nginx

 

#更改配置文件,去掉user nobody前面得#

vim /etc/nginx/conf/nginx.conf

# user nobody;

 

  1. 创建数据与日志存储目录

mkdir -p /etc/fdfs/data

 

  1. 配置tracker

vim /etc/fdfs/tracker.conf

#需要修改的内容如下

port=22122 # tracker服务器端口(默认22122,一般不修改)

base_path=/etc/fdfs/data # 存储日志和数据的根目录

max_connections=256 #服务器支持的最大连接数

work_threads=1 #工作线程数,通常设置为CPU数量

store_lookup=2 #上传组(group)的方式:0轮询,1:指定,2:负载平衡(剩余空间最大选择)

store_group=group2 #如果上一参数选择1方式,即制定组名,当前参数用来设置指定的组,如果选择其他方式,当前参数无效

store_server=0 #同组推送方式0.轮询方式,1.根据ip地址进行排序选择第一个服务器,2.根据优先级进行排序(优先级由storage.conf的配置文件中upload_priority属性设置)

store_path=0 #选择哪个文件目录进行上传(一个StoreServer上面可以有多个base_path0.轮询,2.剩余空间最大

download_server=0 #选择哪个storeServer最为下载服务器,0.轮询,1.哪个为源则哪个下载

log_level=info #日志级别,最好不要使用info,日志量会很大

 

  1. 配置storage

vim /etc/fdfs/storage.conf

#需要修改的内容如下

port=23000 # storage服务端口(默认23000,一般不修改)

base_path=/etc/fdfs/data # 数据和日志文件存储根目录

store_path0=/etc/fdfs/data # 第一个存储目录

tracker_server=172.26.103.84:22122 # tracker服务器IP和端口

http.server_port=8888 # http访问文件的端口(默认8888,看情况修改,nginx中保持一致)

 

  1. 启动tracker 启动 storage

/etc/init.d/fdfs_trackerd start #启动后端口22122

/etc/init.d/fdfs_storaged start #启动后端口23000

 

  1. 配置client测试是否可以上传文件

vim /etc/fdfs/client.conf

#需要修改的内容如下

base_path=/etc/fdfs/data

tracker_server=172.26.103.84:22122 #tracker服务器IP和端口

#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz

上传任意文件测试是否能上传(并记录下返回值,稍后测试nginx web功能会用到)

fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

 

  1. 配置nginx访问

修改第一个配置文件

vim /etc/fdfs/mod_fastdfs.conf

#需要修改的内容如下

tracker_server=172.26.103.84:22122 #tracker服务器IP和端口

url_have_group_name=true

store_path0=/etc/fdfs/data

修改nginx配置文件

vim /etc/nginx/conf/nginx.conf

include conf.d/*.conf;

#子目录添加如下配置

vim /etc/nginx/conf/conf.d/fdfs.conf

server {

listen 8888; ## 该端口为storage.conf中的http.server_port相同

server_name localhost;

location ~/group[0-9]/ {

ngx_fastdfs_module;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

 

nginx -t

nginx -s reload

 

  1. 测试nginx web下载

用外部浏览器访问刚才已传过的nginx安装包,引用返回的ID

http://39.101.222.104:8888/group1/M00/00/00/rBpnVF5vNmuARquQAA_BtpkkX5U.tar.gz

#弹出下载单机部署全部跑通

 

 

 

 

 

  1. 增加group存储文件

  2. 更改配置文件,选择增加的group做何用

vim /etc/fdfs/tracker.conf

 

选择组来上传文件的方法

# 0:循环赛

# 1:指定组

# 2:负载平衡,选择最大自由空间组上传文件

store_lookup = 0

 

如果等于0,那么就是增加存储空间,数据循环存入group存储文件

如果等于1,那么就可以看作为数据隔离,指定数据上传到指定组

如果等于2,那么就是增加存储空间,数据循环存入group存储文件

 

  1. 创建group2的数据及日志存放路径

mkdir -p /etc/fdfs/data_group2

 

  1. 在单机单group的基础上更改配置文件(只需要更改两个配置文件,storage_group2.conf, mod_fastdfs.conf)

    1. 复制一份storage.conf配置文件为storage_group2.conf

cp /etc/fdfs/storage.conf /etc/fdfs/storage_group2.conf

 

  1. 修改storage_group2.conf配置文件

vim /etc/fdfs/storage_group2.conf

#主要需要修改

port=23001 #端口不能与已经启动的group1相同

group_name=group2

base_path=/etc/fdfs/data_group2 #数据及日志存放路径

store_path0=/etc/fdfs/data_group2

tracker_server=172.26.103.84:22122 #指定注册到哪个tracker_server

log_level=info #log日志级别

 

  1. 修改mod_fastdfs.conf配置文件

vim /etc/fdfs/mod_fastdfs.conf

#主要需要修改

group_name=group1/group2

group_count = 2

 

[group1]

group_name=group1

storage_server_port=23000

store_path_count=1

store_path0=/etc/fdfs/data/

 

[group2]

group_name=group2

storage_server_port=23001

store_path_count=1

store_path0=/etc/fdfs/data_group2

 

  1. 启动trackerd,启动两个storaged

/etc/init.d/fdfs_trackerd restart

/etc/init.d/fdfs_storaged restart

/usr/bin/fdfs_storaged /etc/fdfs/storage_group2.conf start

  1. 启动nginx 更改完mod_fastdfs.conf 后,例如添加了group 需要重启nignx,不然不生效。

nginx

nginx -s reload

 

  1. 测试group2的上传下载是否成功

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/ceshi.jpg 172.26.103.84:23001

#以下返回值确实为group2

group2/M00/00/00/rBpnVF5wbjeAGaxnAACcsysMeDk075.jpg

 

#尝试通过nginx web打开此group2,能打开则group2成功

http://39.101.222.104:8888/group2/M00/00/00/rBpnVF5wbjeAGaxnAACcsysMeDk075.jpg

 

 

  1. fastDFS集群

  2. 两台服务器

10.0.0.6 192.168.1.6

10.0.0.7 192.168.1.7

 

  1. 安装必要的依赖包(两台同时操作)

yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

 

  1. 安装libfatscommon (两台同时操作)

git clone https://github.com/happyfish100/libfastcommon.git --depth 1

cd libfastcommon/

/make.sh && ./make.sh install

echo $?

 

  1. 安装fastDFS (两台同时操作)

把安装包上传到服务器

cd ~

yum install unzip -y

unzip fastdfs-5.11.zip

cd fastdfs-5.11/

./make.sh && ./make.sh install

echo $?

 

#复制配置文件

cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf #客户端文件,测试用

cp /root/fastdfs-5.11/conf/http.conf /etc/fdfs/ #nginx访问使用

cp /root/fastdfs-5.11/conf/mime.types /etc/fdfs/ #nginx访问使用

 

 

  1. 安装fastdfs-nginx-module(nginx插件版本与fastDFS版本是对应得5.11应使用1.20)(两台同时操作)

https://github.com/happyfish100/fastdfs-nginx-module/tree/V1.20

unzip fastdfs-nginx-module-1.20.zip

cp fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/

 

#更改config文件,不然nginx添加模块找不到路径会报错,更改文件以下两个选项

vim /root/fastdfs-nginx-module-1.20/src/config

ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"

CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

 

  1. 安装nginx(两台同时操作)

tar xf nginx-1.16.1.tar.gz

cd nginx-1.16.1/

 

./configure --prefix=/etc/nginx-1.16.1 --user=nobody --group=noboby --pid-path=/var/run/nginx.pid --with-stream --add-module=/root/fastdfs-nginx-module-1.20/src

 

make && make install

 

ln -s /etc/nginx-1.16.1/ /etc/nginx

ln -s /etc/nginx/sbin/nginx /usr/local/bin/nginx

 

#更改配置文件,去掉user nobody前面得#

vim /etc/nginx/conf/nginx.conf

# user nobody;

 

  1. 创建数据与日志存储目录 (两台同时操作)

mkdir -p /etc/fdfs/data

 

  1. 配置tracker(两台同时操作)

vim /etc/fdfs/tracker.conf

#需要修改的内容如下

port=22122 # tracker服务器端口(默认22122,一般不修改)

base_path=/etc/fdfs/data # 存储日志和数据的根目录

max_connections=256 #服务器支持的最大连接数

work_threads=1 #工作线程数,通常设置为CPU数量

store_lookup=2 #上传组(group)的方式:0轮询,1:指定,2:负载平衡(剩余空间最大选择)

store_group=group2 #如果上一参数选择1方式,即制定组名,当前参数用来设置指定的组,如果选择其他方式,当前参数无效

store_server=0 #同组推送方式,可以设置优先存储到哪个storage 0.轮询方式,1.根据ip地址进行排序选择第一个服务器,2.根据优先级进行排序(优先级由storage.conf的配置文件中upload_priority属性设置)

store_path=0 #选择哪个文件目录进行上传(一个StoreServer上面可以有多个base_path0.轮询,2.剩余空间最大

download_server=0 #选择哪个storeServer最为下载服务器,0.轮询,1.哪个为源则哪个下载

log_level=info #日志级别,最好不要使用info,日志量会很大

 

  1. 配置storage(两台同时操作)

vim /etc/fdfs/storage.conf

#需要修改的内容如下

port=23000 # storage服务端口(默认23000,一般不修改)

base_path=/etc/fdfs/data # 数据和日志文件存储根目录

store_path0=/etc/fdfs/data # 第一个存储目录

tracker_server=192.168.1.6:22122 # tracker服务器IP和端口

tracker_server=192.168.1.7:22122

http.server_port=8888 # http访问文件的端口(默认8888,看情况修改,nginx中保持一致)

 

  1. 启动tracker 启动 storage (两台同时操作)

/etc/init.d/fdfs_trackerd start #启动后端口22122

/etc/init.d/fdfs_storaged start #启动后端口23000

 

 

  1. 配置client测试是否可以上传文件

vim /etc/fdfs/client.conf

#需要修改的内容如下

base_path=/etc/fdfs/data

tracker_server=192.168.1.6:22122 #tracker服务器IP和端口

tracker_server=192.168.1.7:22122

#保存后测试,返回ID表示成功 如:group1/M00/00/00/xx.tar.gz

上传任意文件测试是否能上传(并记录下返回值,稍后测试nginx web功能会用到)

fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/nginx-1.15.4.tar.gz

查看两台服务器data路径下,如果都有此文件,说明搭建成功

cd /etc/fdfs/data/data/00/00

 

 

  1. 配置nginx访问(两台同时操作)

修改第一个配置文件

vim /etc/fdfs/mod_fastdfs.conf

#需要修改的内容如下

tracker_server=192.168.1.6:22122 #都写本机的tracker服务器IP和端口,可以多写,为了负载均衡方便只写一个

url_have_group_name=true

store_path0=/etc/fdfs/data

修改nginx配置文件

vim /etc/nginx/conf/nginx.conf

include conf.d/*.conf;

#子目录添加如下配置

mkdir /etc/nginx/conf/conf.d/

vim /etc/nginx/conf/conf.d/fdfs.conf

server {

listen 8888; ## 该端口为storage.conf中的http.server_port相同

server_name localhost;

location ~/group[0-9]/ {

ngx_fastdfs_module;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

 

nginx -t

nginx -s reload

 

  1. 测试nginx web下载(可以下载说明nginx没有问题)

用外部浏览器访问刚才已传过的nginx安装包,引用返回的ID

http://10.0.0.6:8888/group1/M00/00/00/rBpnVF5vNmuARquQAA_BtpkkX5U.tar.gz

http://10.0.0.7:8888/group1/M00/00/00/rBpnVF5vNmuARquQAA_BtpkkX5U.tar.gz

 

 

  1. 配置nginx负载均衡(10.0.0.6上)

vim /etc/nginx/conf/conf.d/fdfs_stream.conf

 

 

vim /etc/nginx/conf/nginx.conf

 

 

 

  1. 访问测试(顺便观察日志,查看是否是轮询分配到两台服务器的)

http://10.0.0.6/group1/M00/00/00/wKgBBl5wi8CAe4vqAAZ68RYWD38.11.zip

 

  1. 后续如果空间不够可以增加store_path0,负载不够就在加一套单点然后修改一下其他得配置文件即可

 

 

 

  1. fastDFS监控系统 fastdfs-zyc

https://www.cnblogs.com/shihaiming/p/6283681.html

 

  1. 常用命令

 

  1. fdfs_monitor查看确认storage是否自动注册到tracker中

fdfs_monitor /etc/fdfs/storage.conf

 

  1. 启动tracker 启动 storage

/etc/init.d/fdfs_trackerd start #启动后端口22122

/etc/init.d/fdfs_storaged start #启动后端口23000

 

  1. 添加文件到fastdfs

fdfs_upload_file /etc/fdfs/client.conf /root/fastdfs-5.11.zip

  1. 删除添加到fastdfs得文件

fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgBBl5wi8CAe4vqAAZ68RYWD38.11.zip

 

  1. 删除fastdfs得storaged节点,及不同步处理

https://blog.csdn.net/ever_siyan/article/details/88866690

posted @ 2020-04-14 11:19  洛柯  阅读(551)  评论(0编辑  收藏  举报