FastDFS安装部署文档
FastDFS简介
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。非常适合用来存储用户图片、视频、文档等文件。对于互联网应用,和其他分布式文件系统相比,优势非常明显。FastDFS没有对文件做分块存储,因此不太适合分布式计算场景。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。
为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。
在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。
当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。
二、FastDFS系统结构图
FastDFS系统结构图
上传文件交互过程:
1. client询问tracker上传到的storage,不需要附加参数;
2. tracker返回一台可用的storage;
3. client直接和storage通讯完成文件上传。
下载文件交互过程:
1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
2. tracker返回一台可用的storage;
3. client直接和storage通讯完成文件下载。
三、 FastDFS安装部署
准备环境
Ø 操作系统: CentOS 6.5 [Server-1& Server-2]
Ø 安装包:
1、FastDFS_v5.05.tar.gz 下载地址:http://sourceforge.net/projects/fastdfs/files 依次打开“FastDFS Server Source Code”->“FastDFS Server with PHP Extension Source Code V5.05”->“FastDFS_v5.05.tar.gz”。
2、libfastcommon-master.zip下载地址:
https://github.com/happyfish100/libfastcommon/archive/master.zip
2. 安装步骤
Ø 将FastDFS_v5.05.tar.gz和libfastcommon-master.zip放到一个tools文件夹下,将文件夹上传到/opt/目录下面。[Server-1& Server-2]
Ø 关闭防火墙[Server-1& Server-2]
service iptables stop
Ø安装libfastcommon,执行下列命令:[Server-1& Server-2]
cd /opt/tools/
unzip libfastcommon-master.zip
cd libfastcommon-master
./make.sh
./make.sh install
Ø安装FastDFS,执行下列命令:[Server-1& Server-2]
cd /opt/tools/
tar -xzvf FastDFS_v5.05.tar.gz
cd FastDFS
vi make.sh
将TARGET_PREFIX=$DESTDIR/usr改成 TARGET_PREFIX=$DESTDIR/usr/local
./make.sh
./make.sh install
Ødfs_trackerd服务配置[Server-1]
mkdir -p /home/fastdfs/tracker
cd /etc/fdfs/
cp tracker.conf.sample tracker.conf
vi tracker.conf
将base_path=/home/yuqing/fastdfs改成 base_path=/home/fastdfs/tracker
Øfdfs_storaged服务配置[Server-2]
mkdir -p /home/fastdfs/storage
mkdir /home/fastdfs/data
cd /etc/fdfs/
cp storage.conf.sample storage.conf
vi storage.conf
将base_path=/home/yuqing/fastdfs改成 base_path=/home/fastdfs/storage
将store_path0=/home/yuqing/fastdfs改成
store_path0=/home/fastdfs/data
将tracker_server=192.168.209.121:22122改成 tracker_server=192.168.26.128:22122
Øclient服务配置[Server-1]
mkdir -p /home/fastdfs/client
cd /etc/fdfs/
cp client.conf.sample client.conf
vi client.conf
将base_path=/home/yuqing/fastdfs改成
base_path=/home/fastdfs/client
将tracker_server=192.168.0.197:22122改成
tracker_server=192.168.26.128:22122
3. 启动和关闭服务
启动fdfs_trackerd服务:
/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf
停止fdfs_trackerd服务:
sh /opt/tools/FastDFS/stop.sh /usr/local/bin/fdfs_trackerd
启动fdfs_storaged服务:
/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf
停止fdfs_storaged服务:
sh /opt/tools/FastDFS/stop.sh /usr/local/bin/fdfs_storaged
注:先启动fdfs_trackerd服务再启动fdfs_storaged服务。
可以通过service fdfs_trackerd(storaged) start/stop/restart/status
这种方式来管理服务了。如果不行就将安装包里面提供的/init.d
的fdfs_trackerd(storaged) 拷贝到/etc/init.d里面再执行上面操作。
如:cp /opt/tools/FastDFS/init.d/fdfs_trackerd /etc/init.d/
chkconfig --add fdfs_trackerd
chkconfig fdfs_trackerd on (设置开机自启动)
4. 测试文件上传
手动上传文件szp.png到[Server-1]的/tmp目录下面;
fdfs_upload_file /etc/fdfs/client.conf /tmp/szp.png
上传成功后返回:group1/M00/00/00/wKgagFUWXQWAeygxAABWNEgjnSE328.png
可以到/home/fastdfs/data/data/00/00/目录下面查看文件是否存在。
5. 测试文件删除
fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/
wKgagFUWXQWAeygxAABWNEgjnSE328.png
可以到/home/fastdfs/data/data/00/00/目录下面查看文件是否存在。
6. java客户端支持
目前最新
TrackerClient tracker = new TrackerClient();
TrackerServer trackerServer = tracker.getConnection();
StorageServer storageServer = null;
StorageClient client = new StorageClient(trackerServer, storageServer);
//上传
client.upload_file();
//下载
client.download_file();
//删除
client.download_file();
相关推荐
FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB )为载体的在线服务...
总之,部署FastDFS在Ubuntu上涉及多个步骤,包括下载和安装依赖库、配置FastDFS和Nginx,以及启动和测试服务。理解每个组件的作用和配置选项对于成功部署至关重要。在整个过程中,注意文件路径、端口和配置文件的...
FastDFS部署教程及安装FastDfsWORD文档,部署视频教程,本人亲测可用!!!!!!!!!!!!!!
在提供的压缩包`nginx+FastDFS.zip`中,应该包含了详细的安装步骤和所需的安装包,你可以按照文档中的指导进行操作。在实际部署过程中,可能会遇到各种问题,如网络连接、权限问题等,需要根据错误提示进行排查和...
分布式文件系统fastDFS集成相关文档、java客户端jar包、fastDFS API文档,搭建所需资源大部分可在网上找到。建议先看《fastDFS分布式文件系统介绍》、再看《FastDFS详细部署文档》。
在本文档中,我们详细讨论了如何在Redhat操作系统上安装和配置FastDFS以及其Nginx模块。FastDFS是一个开源的高性能、轻量级的分布式文件系统,主要用于解决大容量存储和负载均衡的问题。以下是安装和配置FastDFS及其...
Nginx可以从官方网站下载源码包,然后按照官方文档的步骤进行编译安装。 4. 安装fastdfs-nginx-module:将该模块源码添加到Nginx的源码目录下,重新配置Nginx并编译,确保模块被编译进Nginx。 5. 配置FastDFS和Nginx...
本文档将详细介绍如何在生产环境中部署Fastdfs集群,包括设置跟踪节点(Tracker)和存储节点(Storage),以及相关的配置和优化。 一、Fastdfs集群部署 1. 跟踪节点部署 跟踪节点主要负责调度存储节点,管理文件元...
未解决Fastdfs部署程序员找资源困难,特上传此附件,以解决部署时间,且带有使用说明、安装说明,此附件包含 Fastdfs、nginx安装包及nginx依赖包,openssl、zlib、pcre。并且包含Fastdfs使用文档,及安装说明。
FastDFS简介及简单集群安装部署操作文档。 1、虚拟机集群基于CentOS7,划分为2个Tracker和4个Storage【其中有2个Storage与Tracker共用】 2、添加fastdfs-nginx-module模块,实现集群数据访问
### FastDFS部署文档知识点解析 #### 一、分布式文件系统的概念与特征 **定义与特点:** - **定义:** 分布式文件系统(Distributed File System, DFS)是一种允许文件通过网络在多台主机间共享的文件系统,也被...
在本文中,我们将详细介绍FastDFS的安装过程,以及在安装过程中可能遇到的问题和解决方案。 首先,确保你的服务器或开发环境已经安装了必要的依赖软件。在FastDFS的安装过程中,需要使用到`make`、`cmake`和`gcc`这...
FastDFS部署文档,环境为Ubuntu,搭配语言为PHP,实测成功。 文档中略去了配置第一步解压fastdfs压缩包并执行./make.sh和./mash.sh install。 我在配置时失败一次,原因为storage.conf中的tracker_server的地址写错...
总结来说,本压缩包包含了FastDFS的安装文档和测试代码,以及Redis单点故障的Keepalived解决方案,这些都是构建高效、可靠的分布式存储系统的关键组件。了解并熟练掌握这些技术,对于提升大型互联网应用的性能和稳定...
- **文档目的**:本安装文档旨在指导用户如何在 CentOS 6.5 系统上安装和配置 FastDFS,以实现文件的分布式存储。通过遵循文档步骤,用户将能够熟练地搭建一个运行在 Linux 环境下的 FastDFS 文件系统,从而提高...
### FastDFS环境搭建部署知识点详解 #### 一、FastDFS简介与基础知识 1. **基础概念**: - **FastDFS**是一款开源的轻量级分布式文件系统,主要用于解决大容量存储以及负载均衡问题。 - **功能**:提供文件存储...
10. **部署FastDFS集群**:为了提高可用性和扩展性,通常会搭建FastDFS集群。这包括多个Tracker节点和多个Storage节点,通过设置复制策略(如主从复制、镜像复制)实现数据冗余。 11. **监控与维护**:安装完成后,...
【FastDFS分布式文件系统部署方案】 FastDFS是一个开源的高性能分布式文件系统,它专注于解决海量数据存储的问题,尤其适用于中小文件(建议大小在4KB到500MB之间)的在线服务。FastDFS提供了文件存储、文件同步和...
本文将围绕FastDFS的核心特点、工作原理、安装部署以及常见应用场景进行详细介绍。 一、FastDFS核心特点 1. 高性能:FastDFS采用客户端/服务器(C/S)架构,支持TCP/IP通信协议,能够高效地处理大量并发读写请求。...