FastDFS是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务,它能帮我们解决以下问题,如:1.超大数据存储;2.数据高可用(冗余备份);3.读/写高性能;4.海量数据计算。
FastDFS服务端有三个角色:跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)。
Tracker server:跟踪服务器,主要做调度任务,负载均衡。在内存中记录集群中所有的存储服务器的状态,客户端通过跟踪服务器来和存储服务器进行交互。
Storage server:存储服务器,存储文件和文件的描述文件(meta data)都存在存储服务器上。
Client:客户端,一般就是我们的Web程序。
好了,后面来搭建一下。
首先找一份FastDFS的安装包,还有一个libfastcommon,上传到服务器/usr/local下。
解压,安装libfastcommon。
tar zxvf ./libfastcommon
cd ./libfastcommon
./make.sh
./make.sh install
好了这就安装好了,安装完成之后在/usr/lib64下会有libfastcommon.so库文件,这个文件是使用fastdfs的时候需要的文件。为了防止操作系统找不到,我们将libfastcommon.so这个文件复制到/usr/lib下边。下面编译FastDFS的命令,解压缩FastFDS的压缩包。
tar zxvf ./FastDFS.tar.gz
cd ./FastDFS
./make.sh
./make.sh install
编译完成之后,在/usr/bin下面会出现以fdfs开头的文件。
拷贝一份配置文件到/etc目录下。
cp -r ./conf /etc/fdfs
修改tracker的配置文件,主要修改下面这句话,这句话写的是日志存储的路径
base_path=/home/fastdfs/tracker
启动tracker。后面写的是tracker的配置文件路径。
fdfs_trackerd /etc/fdfs/conf/tracker.conf
启动storage服务,注意启动前也要修改storage.conf的配置文件,修改base_path和store_path0这两个路径,然后修改tracker_server这个参数,配置的是tracker server的IP和端口。
fdfs_storaged /etc/fdfs/conf/storage.con
接下来进行测试,执行。
fdfs_test /etc/fdfs/conf/client.conf upload anti-steal.jpg
这个就是使用client.conf的配置上传一张图片。
出现下面的提示就算成功了。