文章目录
1、简介
1.1 分布式文件系统
分布式文件系统(Distributed File System)是一个软件/软件服务器,可以用来管理文件。这个软件所管理的文件通常在多个服务器节点上,这些服务器节点通过网络相连构成一个庞大的文件存储服务器集群,这些服务器都用于存储文件资源,通过分布式文件系统来管理这些服务器上的文件。
分布式文件系统与传统文件系统对比
1.2 FastDFS
FastDFS 就是常见的分布式文件系统之一,它是基于 C 语言开发的,一个轻量级开源的高性能分布式文件系统。主要功能有:文件存储、文件同步、文件访问(文件上传/下载),解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡。FastDFS 特别适合中大型网站以文件为载体的在线服务。开源地址:https://github.com/happyfish100/fastdfs,只有Linux版,没有Window版。
1.3 FastDFS架构
FastDFS主要由两部分构成:客户端、服务端。
客户端(client):用于连接操作FastDFS的java程序,提供基本文件访问接口,比如 upload、download、append、delete 等。
服务端(Server):由两部分构成,跟踪器(tracker)、存储节点(storage)。
跟踪器(tracker):负责文件访问的调度和负载均衡,负责管理所有的 Storage Server 和 group 组/卷。
存储节点(storage):负责文件存储,文件同步/备份,提供文件访问接口,文件元数据管理。以 group 为单位,每个 group 内可以有多台 Storage Server,数据互为备份,达到容灾的目的。每个 Storage 在启动以后会主动连接 Tracker,告知自己所属 group 等存储相关信息,并保持周期性心跳。
2、环境搭建
2.1 FastDFS安装
2.1.1 安装前准备
检查是否安装了gcc、libevent、libevent-devel
yum list installed | grep gcc
yum list installed | grep libevent
yum list installed | grep libevent-devel
如果没有安装,则需进行安装
yum install gcc libevent libevent-devel -y
2.1.2 安装包下载
下载地址:https://github.com/happyfish100 ,需要下载以下几个包,需要注意的是最后一个libserverframe包是新引入的网络框架库,目前安装FastDFS除了libfastcommon还需另外编译安装它,否则编译不通过。
2.1.3 安装 libfastcommon
安装 FastDFS 前首先需要安装 libfastcommon 。
解压
cd /usr/local/fastdfs/
unzip libfastcommon-master.zip
进入解压后的目录,编译
cd libfastcommon-master/
./make.sh
然后安装
./make.sh install
2.1.4 安装 libserverframe
安装 FastDFS 前首先需要安装 libserverframe。
解压
cd /usr/local/fastdfs/
unzip libserverframe-master.zip
进入解压后的目录,编译
cd libserverframe-master/
./make.sh
然后安装
./make.sh install
2.1.5 安装 FastDFS
解压
cd /usr/local/fastdfs/
unzip fastdfs-master.zip
进入解压后的目录,编译
cd fastdfs-master/
./make.sh
然后安装
./make.sh install
安装成功后,可以看到配置文件已经在/etc/fdfs/目录下
并且在/usr/bin/目录下已经有 fdfs 开头的文件,都是启动Server的一些命令文件。
为了方便,我们先将FastDFS解压目录conf里的 http.conf 和 mime.types 文件拷贝到 /etc/fdfs/ 目录下,后续程序里使用会用到
cd /usr/local/fastdfs/fastdfs-master/conf/
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
2.2 FastDFS配置
主要配置 tracker.conf 和 storage.conf 两个文件。
2.2.1 配置tracker
2.2.1.1 创建 tracker 工作目录
在配置Tracker之前,需要先创建Tracker服务器的文件路径,用于存储Tracker的数据文件和日志文件等。
mkdir -p /opt/fastdfs/tracker
2.2.1.2 修改 tracker 配置文件
vi /etc/fdfs/tracker.conf
#启用配置文件,默认启用配置文件(默认值)
disabled=false
#设置tracker的端口号,通常采用22122这个默认端口 (默认值)
port=22122