FastDFS(分布式文件系统)图片上传

本文详细介绍了FastDFS分布式文件系统的概念、架构、上传下载流程,以及在CentOS环境下安装FastDFS的过程,包括Tracker和Storage服务器的配置与启动。同时,文章还讲解了如何使用Java客户端与FastDFS交互,并通过Nginx实现访问FastDFS文件的负载均衡,以解决文件同步延迟问题。最后,给出了测试案例,展示了文件上传后的存储路径。
摘要由CSDN通过智能技术生成

一、什么是FastDFS

FastDFS是由淘宝的余庆先生所开发的一个开源的分布式文件系统。用纯C语言开发,功能丰富:

  • 文件存储

  • 文件同步

  • 文件访问(上传、下载)

  • 存取负载均衡

  • 在线扩容

适合有大容量存储需求的应用或系统。同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)等。

二、 FastDFS架构

FastDFS两个主要的角色:Tracker Server 和 Storage Server 。

  • Tracker:跟踪服务器,管理集群,tracker也可以实现集群。每个tracker节点地位平等。收集Storage集群的状态。

  • Storage:存储服务器,实际保存文件,分为多个组,每个组之间保存的文件是不同的。每个组内部可以有多个成员,组成员内部保存的内容是一样的,组成员的地位是一致的,没有主从的概念。

三、上传和下载流程 

上传 

 

  1. Client通过Tracker server查找可用的Storage server。

  2. Tracker server向Client返回一台可用的Storage server的IP地址和端口号。

  3. Client直接通过Tracker server返回的IP地址和端口与其中一台Storage server建立连接并进行文件上传。

  4. 上传完成,Storage server返回Client一个文件ID(卷、目录),文件上传结束。

下载 

  1. Client通过Tracker server查找要下载文件所在的的Storage server。

  2. Tracker server向Client返回包含指定文件的某个Storage server的IP地址和端口号。

  3. Client直接通过Tracker server返回的IP地址和端口与其中一台Storage server建立连接并指定要下载文件。

  4. 下载文件成功。

四、安装准备工作(些许复杂)

安装的所有操作均在CentOS 环境下进行。

 将所需文件,上传到/usr/upload目录下:

1.1、单节点FastDFS

整个安装过程非常复杂,很容易出错,建议进行多次备份。

我们这里不打算安装多台虚拟机,因此会把tracker和storage都安装在一起。

 

1.1.1.安装gcc

GCC用来对C语言代码进行编译运行,使用yum命令安装:

yum -y install gcc

1.1.3.安装libfastcommon-master

libfastcommon-master.zip(是从 FastDFS 和 FastDHT 中提取出来的公共 C 函数库)

#解压刚刚上传的libfastcommon-master.zip
unzip libfastcommon-master.zip

#进入解压完成的目录
cd libfastcommon-master

#编译并且安装:
./make.sh 
./make.sh install

1.1.4.安装fastdfs

tar -zxvf FastDFS_v5.08.tar.gz

cd FastDFS

./make.sh 

./make.sh install

 如果安装成功,会看到/etc/init.d/下看到提供的脚本文件:

ll /etc/init.d/ | grep fdfs 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天向上的雨辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值