安装fastDFS
FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。
Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些 策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务 器。
Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上, Storageserver 没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将 storage 称为存储服务器。
FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。
Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些 策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务 器。
Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上, Storageserver 没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将 storage 称为存储服务器。
安装 libfastcommon依赖库
下载 https://github.com/happyfish100/libfastcommon/releases
解压
tar -zxvf libfastcommon-1.0.43.tar.gz
编译安装
cd libfastcommon-1.0.43 ./make.sh ./make.sh install
安装成功后,在32位Ubantu中会安装在/usr/lib/
中,在64位会在/usr/lib64/
安装fastDFS
下载
https://github.com/happyfish100/fastdfs/releases
解压
tar -zxvf fastdfs-6.06.tar.gz
编译安装
cd fastdfs-6.06 ./make.sh ./make.sh install
安装完成之后默认安装在
/etc/fdfs/
中,并会生成这四个文件:tracker.conf.sample
client.conf.sample
storage.conf.sample
storage_ids.conf.sample
改名,需要先修改配置文件的权限:
chmod -R 755 /etc/fdfs/
mv tracker.conf.sample tracker.conf mv client.conf.sample client.conf mv storage.conf.sample storage.conf mv storage_ids.conf.sample storage_ids.conf
配置跟踪服务器的tracker配置文件
创建tracker目录,自己选择一个路径
mkdir /data2/var/fastdfs/tracker
编辑tracker.conf
配置文件
vi /etc/fdfs/tracker.conf
# 配置文件是否不生效,false 为生效 disabled=false # 提供服务的端口 port=22122 # Tracker 数据和日志目录地址(根目录必须存在,子目录会自动创建) base_path=/home/fastdfs/tracker # HTTP 服务端口 http.server_port=8080
具体配置可参考这里
启动tracker
服务,并监听
service fdfs_trackerd start netstat -unltp|grep fdfs
启动成功
配置 FastDFS 存储 (Storage)
创建目录 storage
编辑配置文件storage.conf
vi storage.conf
# 配置文件是否不生效,false 为生效 disabled=false # 指定此 storage server 所在 组(卷) group_name=group1 # storage server 服务端口 port=23000 # 心跳间隔时间,单位为秒 (这里是指主动向 tracker server 发送心跳) heart_beat_interval=30 # Storage 数据和日志目录地址(根目录必须存在,子目录会自动生成) base_path=/home/fastdfs/storage # 存放文件时 storage server 支持多个路径。这里配置存放文件的基路径数目,通常只配一个目录。 store_path_count=1 # 逐一配置 store_path_count 个路径,索引号基于 0。 # 如果不配置 store_path0,那它就和 base_path 对应的路径一样。 store_path0=/home/fastdfs/storage # FastDFS 存储文件时,采用了两级目录。这里配置存放文件的目录个数。 # 如果本参数只为 N(如: 256),那么 storage server 在初次运行时,会在 store_path 下自动创建 N * N 个存放文件的子目录。 subdir_count_per_path=256 # tracker_server 的列表 ,会主动连接 tracker_server # 有多个 tracker server 时,每个 tracker server 写一行 tracker_server=172.17.0.3:22122 # 允许系统同步的时间段 (默认是全天) 。一般用于避免高峰同步产生一些问题而设定。 sync_start_time=00:00 sync_end_time=23:59 # 访问端口 http.server_port=8888
启动storage
服务,并监听
service fdfs_storaged start netstat -unltp|grep fdfs
启动成功
查看Storage和Tracker是否在通信
/usr/bin/fdfs_monitor /etc/fdfs/storage.conf
设置开机自启动
chkconfig fdfs_storaged on
chkconfig fdfs_trackerd on