适用场景:项目集群时对文件集中管理、扩展;扩充同组中的节点,起到分摊压力的作用。
FastDFS 系统结构如下图所示:
FastDFS 上传文件交互过程:
1. client 询问 tracker 上传到的 storage,不需要附加参数;
2. tracker 返回一台可用的 storage;
3. client 直接和 storage 通讯完成文件上传。
客户端 client 发起对 FastDFS 的文件传输动作,是通过连接到某一台 Tracker Server 的指定端 口来实现的,Tracker Server 根据目前已掌握的信息,来决定选择哪一台 Storage Server ,然后将这个 Storage Server 的地址等信息返回给 client,然后 client 再通过这些信息连接到这台 Storage Server, 将要上传的文件传送到给 Storage Server 上。
FastDFS 下载文件交互过程:
1. client 询问 tracker 下载文件的 storage,参数为文件标识(卷名和文件名);
2. tracker 返回一台可用的 storage;
3. client 直接和 storage 通讯完成文件下载。
前期准备及环境:1)6台服务器(虚拟机):2台跟踪器tracker1 tracker2,4台存储器storage-group1-01 storage-group1-02 storage-group2-01 storage-group2-02
2)环境:centos6.6 3)用户:root 4)数据目录:/fastdfs 5)用到的安装包:FastDFS 、libfastcommon-master.zip、 fastdfs-nginx-module_v1.16.tar.gz、 nginx-1.6.2.tar.gz 、fastdfs_client_java._v1.25.tar.gz 6)源码地址:https://github.com/happyfish100/ 7)关闭防火墙
一:fastdfs安装(跟踪器与存储器)
1.编译安装所需的依赖包:yum install make cmake gcc gcc-c++
2.安装libfastcommon
1)上传或下载 libfastcommon-master.zip 到/usr/local/src 目录并解压
2)编译、安装:
./make.sh
./make.sh install
libfastcommon 默认安装到了 /usr/lib64/libfastcommon.so /usr/lib64/libfdfsclient.so
3)因为 FastDFS 主程序设置的 lib 目录是/usr/local/lib,所以需要创建软链接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3.安装 FastDFS
1)上传或下载 FastDFS 源码包(FastDFS_v5.05.tar.gz)到 /usr/local/src 目录并解压
2)编译安装
./make.sh
./make.sh install
3)修改 fastdfs 服务脚本中相应的命令路径 :将/etc/init.d/fdfs_storaged 和/etc/init.d/fdfs_tracker 两个脚本中的/usr/local/bin 修改成/usr/bin
二:配置fastdfs的跟踪器tracker1 tracker2
1.复制 fastdfs 跟踪器样例配置文件,并重命名:
cd /etc/fdfs/
cp tracker.conf.sample tracker.conf
2.编辑跟踪器配置文件:vi /etc/fdfs/tracker.conf
修改的内容如下:
disabled=false
port=22122
base_path=/fastdfs/tracker #tracker的数据文件和日志记录
3.创建基础数据目录(视配置文件修改) mkdir -p /fastdfs/tracker
4.启动tracker /etc/init.d/fdfs_trackerd start
三:配置fastdfs存储
1.复制 fastdfs 存储器样例配置文件,并重命名:
2.编辑存储器样例配置文件(以 group1 中的 storage 节点的 storage.conf 为例): vi /etc/fdfs/storage.conf
disabled=false
group_name=group1 #组名
port=23000 #storage端口号,同一组的storage端口号必须相同
base_path=/fastdfs/storage #storage的日志路径
store_path0=/fastdfs/storage #存储路径
store_path_count=1 #存储路径个数
tracker_server=192.168.1.1:22122 #tracker的IP和端口
tracker_server=192.168.1.1:22122 #--
http.server_port=8888 #http端口
3.创建基础数据目录:
mkdir -p /fastdfs/storage
4.启动storage /etc/init.d/fdfs_storaged start
查看集群信息:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
四:客户端配置
1.修改tracker服务器中的客户端配置
cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
vi /etc/fdfs/client.conf
base_path=/fastdfs/tracker
tracker_server=192.168.1.1:22122 #视情况配置
tracker_server=192.168.1.2:22122
接下一篇fastdfs集群搭建2