因为工作中再次需要用到FastDFS做多机分布式集群,在此做个笔记,便于大家学习参考,因不同机器的基础软硬件环境不一样,整个分布式集群搭建配置过程可能会有各种坑,热情填坑即可^0^
一、应用场景说明
1.FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡。
2.FastDFS实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储 ,支持存储服务器在线扩容。
3.FastDFS特别适合大中型网站使用,用来存储资源文件(如:图片、文档、音频、视频等等。
二、服务端架构
由于公司提供服务器有限,web服务器和redis就这样安装了,web服务器和redis服务器可用另外服务器做集群扩展,同时tracker和storage也可以横向扩展
注:双tracker时,其中一个是候补,若master挂掉后,候补会自动接任.
三、环境搭建过程
先在两台服务器上分别搭建单机配置,具体参考:http://my.oschina.net/xiejunbo/blog/380555
单机搭建完成后,修改配置并测试:
--------------------------------------------192.168.1.109配置(其它配置项默认):------------------------------------------------
tracker.conf
base_path=/home/tracker/fastdfs
store_group=group1
download_server=1
storage.conf:
group_name=group1
client_bind=true
base_path=/home/storage/fastdfs
store_path0=/home/storage/fastdfs
tracker_server=192.168.1.109:22122
tracker_server=192.168.1.106:22122
client.conf:
base_path=/home/client/fastdfs
tracker_server=192.168.1.109:22122
tracker_server=192.168.1.106:22122
http.tracker_server_port=80
mod_fastdfs.conf:
base_path=/home/storage/fastdfs
tracker_server=192.168.1.106:22122
tracker_server=192.168.1.109:22122
group_name=group1
url_have_group_name = true
group_count = 2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/storage/fastdfs
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/home/storage/fastdfs
nginx.conf:
location /group1/M00 {
root /home/storage/fastdfs/data;
ngx_fastdfs_module;
}
----------------------------------192.168.1.106配置(其它配置项默认):----------------------------------------------------------
tracker.conf
base_path=/home/tracker/fastdfs
store_group=group2
download_server=1
storage.conf:
group_name=group2
client_bind=true
base_path=/home/storage/fastdfs
store_path0=/home/storage/fastdfs
tracker_server=192.168.1.109:22122
tracker_server=192.168.1.106:22122
client.conf:
base_path=/home/client/fastdfs
tracker_server=192.168.1.109:22122
tracker_server=192.168.1.106:22122
http.tracker_server_port=80
mod_fastdfs.conf:
base_path=/home/storage/fastdfs
tracker_server=192.168.1.106:22122
tracker_server=192.168.1.109:22122
group_name=group2
url_have_group_name = true
group_count = 2
[group1]
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/storage/fastdfs
[group2]
group_name=group2
storage_server_port=23000
store_path_count=1
store_path0=/home/storage/fastdfs
nginx.conf:
location /group2/M00 {
root /home/storage/fastdfs/data;
ngx_fastdfs_module;
}
--------------------------------------------------------------------------------------------------------
修改完配置后启动两个tracker和两个storage,然后启动各自的nginx服务,如下查看集群状态:
测试文件上传:
可以正常访问,表示服务器上的分布式FastDFS集群已搭建完成,其他N个节点的类似配置即可