分布式文件系统fastdfs_搭建和基本使用
文章目录
一、简介
fastdfs是开源的轻量级的分布式文件系统,可以用于文件存储。这里对fastdfs特点及搭建进行介绍,操作系统使用的是mac。
二、fastdfs知识点
2.1 fastdfs特点
fastdfs是开源的分布式文件系统,有以下特点:
- 开源的,可以在github上自由下载(github地址:https://github.com/happyfish100/fastdfs);
- 分布式的,可动态扩展容量,包含冗余备份;
- fastdfs集群可动态添加和移出tracker和storage服务器,而不影响线上服务;
2.2 fastdfs应用场景
fastdfs可进行文件管理,包含文件存储、上传、下载、访问等。适用于如图片管理、视频音频管理、附件管理等以文件为基础的服务。
2.3 fastdfs存储结构
fastdfs以卷volume(实际显示为组group)构成存储结构,fastdfs由一个或多个卷构成,不同卷间相同独立,所有卷的容量总和即是fastdfs容量,一个卷可以由一台或多台服务器构成,同一个卷不同服务器上的数据是一样的,可起到冗余备份和负载均衡。
同一卷添加服务器时,fastdfs会自动同步数据,同步完后会自动切换提供服务。
存储空间不够时,可动态添加卷,方式为添加一台或多台服务器,并配置新的卷,就增加了fastdfs容量。
fastdfs文件标识由两部分构成:卷名(或者说组名)和文件名,两者唯一定位一个文件。
2.4 fastdfs构成
fastdfs由tracker、storage、client三部分构成。它们的作用如下:
- tracker:对文件访问进行规划和负载均衡,可以有多台服务器;
- storage:存储文件和文件管理(包含存储、上传、下载、访问等),同时也管理文件key-value形式的元数据信息(会生成单独的以-m结尾的文件,后续有示例),可以有多台服务器;
- client:接收用户请求,到tracker中查询文件位置等信息,然后根据前面取到的信息,到storage中真正获取文件。
三、fastdfs安装
fastdfs安装包含libfastcommon模块、fastdfs模块、fastdfs-nginx-module模块,下面分别进行介绍。
4.1 libfastcommon安装
安装流程如下:
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon
./make.sh
sudo ./make.sh install
4.2 fastdfs安装
fastdfs模块是主体。
安装流程如下: