FastDFS的一些总结

分布式文件系统FastDFS 概述 FastDFS是一个开源的轻量级分布式文件系统,是我国一款开源的分布式文件系统 由阿里巴巴开发,其真题架构由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。 特点: 1>Fast...... 阅读详情

转载: https://blog.youkuaiyun.com/unscdf117/article/details/79052598

在之前的工作当中,使用到了FastDFS.最早我也不知道这是什么玩意,只是说老大说使用到它.后来它被搭建起来了,并且在项目中是作为图片服务器使用的.光顾着怎么去用,也没有时间好好做个总结,毕竟小公司就是如此比较繁忙,什么事情都要你做但是什么都做不精..回到杭州之后,被网易考拉的大佬问到了FastDFS,所以在此做一个简单的总结,在以后的工作之中多记录一些点滴,毕竟好记性不如烂笔头.

FastDFS是由C语言编写,轻量级开源的分布式文件系统,在跨境通等B2C商城的项目之中作为图片服务器使用,用来存储商家的Logo,商品的图片等图片资源,github地址: https://github.com/happyfish100/fastdfs

FastDFS中有三个角色.Tracker Storage Client.见名知意

Tracker: 
翻译过来是追踪者,本身并不是作为存储的角色,而是作为调度者的角色而存在的,也有负载均衡的理念在里面.Tracker管理所有的Storage和Group.

Storage: 
Storage是存储的角色,每个Storage启动时会连接Tracker告知自身所属的Group并且报纸周期心跳Tracker则以此来建立Group到Storage的映射信息.同一个Group中的Storage中内容相同,互为备份.Group中Storage的容量以当前组中最小的为准,所以配置的时候要注意最好是设置成相同的大小,避免空间浪费.

Client: 
这个就不都说了,一看名字就知道是客户端.和Redis之类的中间件一样都需要一个客户端来访问.

说了那么多 画一下FastDFS的架构图吧.FastDFS架构图

如图所示Client访问Tracker,请求对应的文件地址,Tracker中包含了Storage所属的分组信息,并且通过对应的分组去访问分组中的某个Storage获取到对应的文件信息. 
Tracker和Storage都可以搭建集群,这样带来的好处是,可以避免单点故障,让服务可以可靠地提供.Group众多的情况下可以提升系统的QPS.特别适合中小型文件的存储,一般在4KB到500MB之间.

FastDFS对外提供文件的访问接口,如upload,download,append,delete等,通过客户端库的方式提供.

文件上传概述: 
文件上传分为选择Tracker,选择Group,选择Storage,生成Field,选择两级目录,生成文件名这么几个步骤.现在互联网项目,为了保证服务可靠性,都会搭建集群,所以按照这种方式来总结.

选择Tracker: 
Tracker集群中所有的Tracker地位都是对等的,客户端上传文件时会任意选择一个Tracker.

选择Group: 
Tracker收到上传请求之后,会分配一个Group来存储文件,提供的规则有:轮询所有的Group,指定一个Group,负载均衡(剩余空间多的优先)

选择Storage: 
分配好Group之后,Tracker会在Group中选择一个Storage,提供的规则有:轮询所有的Storage,根据ip排序,根据Storage优先级排序. 在选定好了Storage之后客户端向Storage发送写入文件请求,Storage为文件分配一个数据存储目录,提供的规则有:存储目录轮询,负载均衡

生成Field: 
选择好存储目录之后,Storage为文件分配一个Field,由Storage的ip + 文件创建的时间戳 + 文件大小 + 文件crc32校验后+一个随机数拼接而成.再将这个二进制串进行Base64编码转换成String.

选择两级目录:生成field之后,每个存储目录下会有两级256*256的子目录,Storage会按照field进行第一次hash,路由到第一级子目录,再进行第二次hash,存储到对应的子目录下.

生成文件名: 
当文件存储完成后,会为其创建一个文件名,创建规则为:Group + 存储目录 + 两级子目录 + field + 文件拓展名拼接而成 
例如: 
group12/M00/00/0F/xjkRbWxx1T0BBDDTTDAuSQUghg128824.jpg

文件下载和访问只需要按照这个路径即可..


FastDFS 介绍及安装部署 FastDFS 组成FastDFS上传机制FastDFS使用场景FastDFS架构实验环境部署 FastDFS安装依赖安装服务端配置 Tracker 服务端配置 Storage 服务端文件上传测试安装配置 NginxNginx 集成 FastDFS 模块FastDFS 开启自启制作 RPM 包模拟文件迁移停止旧集群服务启动新集群服务FastDFS 常用命令查看集群状态删除节点FastDFS 是一款开源的轻量级分布式文件系统,纯C实现,支持Linux、FreeBSD等类UNIX系统; 阅读详情

相关推荐

FastDFS 下载安装和使用FastDFS

FastDFS 下载安装和使用 因为博主自己在下载安装和使用的时候是踩了很多坑的所有整理出这篇博客供大家参考,如果发现问题请及时指出! 需要从官网下载我们所需要的依赖包 FastDFS官网传送门 1.下载FastDFS所需要的依赖包 点击第一个进去之后会看到如下图,选择第三个月份日期为2014-12-02(听说这个版本很稳定) 点击进去后你会看到如下图你可以直接点击开始下载 记住上面的步骤 接下来你将以同样的方式下载其他依赖 如果因为某种原因下载不了以上依赖 可以使用博主的依赖 传送门 依赖提取

小欧的博客 5980

fastdfs详解

fastdfs详解

y-y-_-h-的博客 9099

Nginx和FastDfs完整配置过程_fastdfs安装

看看有没有报错,如果没有错误就可以执行软链接了。

2501_90244936的博客 1522

1-fastfds 环境搭建

不依赖与物理介质,可以随时收缩扩展 1 fastDFS 角色 tracker 文件系统管理者 整个文件系统核心,文件系统管理者 storage 节点 服务器启动时主动向tracker汇报信息,容量大小。。。 tracker要先于storage启动 client 客户端 首先访问tracker ,tracker返回使用那个storage节点 然后客户端...

u014749668的博客 2427

linux 安装fastDFS

linux安装fastDFS

qq_29260989的博客 1685

CentOS 7安装FastDFS

CentOS7安装FastDFS

梦里逆天的博客 2614

分布式文件系统FastDFS看这一篇就够了(文件上传下载、单机部署及集群部署)_go-fastdfs漏洞

这种异步的同步方式带来了一致性问题,当源文件尚未来得及将所有备份文件同步更新时,访问这些备份文件将引发错误。文件的访问主要分为更新和下载两种情况:FastDFS规定更新操作只能对源文件进行,从而避免了同时对不同的备份文件进行更新导致的冲突;文件下载时,Tracker server记录了各Storage server中各文件的同步情况,会向Client提供同步后的文件所在的Storage server。

2401_84265972的博客 1402

fastDFS部署及客户端的开发

非常好的指引资料 https://www.cnblogs.com/chiangchou/p/fastdfs.html按照这个指引可以完整不fastdfs部署出来,然后通过客户端(linux)进行文件上传下载,安装FastDFS环境操作环境:CentOS7 X64,以下操作都是单机环境。# vim /etc/hosts 增加如下一行,这是我的IP 192.168.51.128 file.ljzsg...

u014397507的博客 3059

Linux下使用FastDFS

/make.sh如果安装成功,会看到/etc/init.d/下看到提供的脚本文件:是tracker启动脚本是storage启动脚本能够在 /etc/fdfs/ 目录下看到默认的配置文件模板:是tracker的配置文件模板是storage的配置文件模板是客户端的配置文件模板FastDFS的tracker和storage在刚刚的安装过程中,都已经被安装了,因此我们安装这两种角色的方式是一样的。不同的是,两种需要不同的配置文件。我们要启动tracker,就修改刚刚看到的,并且启动脚本即可。

2401_86352725的博客 2124

TSEND_C指令错误代码解析与实战排错指南

本文详细解析西门子PLC中TSEND_C指令的常见错误代码,包括连接建立、参数配置、资源限制和网络通信等错误类型。针对错误代码80C4等典型问题提供实战排错指南,帮助工程师快速诊断和解决工业通信中的连接故障,提升系统可靠性。

backprop5master的博客 410

Hi3559AV100制作ext4文件系统和烧录emmc

1、首先生成所需文件系统,见本博客&lt;Hi3559AV100文件系统制作cramfs&gt;。 2、使用工具生成EXT4文件系统 ./make_ext4fs -s -l 96M rootfs_hi3559av100.ext4 ./rootfs 3、烧录文件系统 mw.b 0x82000000 ff 0x12C00000;tftp 0x82000000 STM_...

阿Sir问道 7033

k8s部署fastdfs

1.环境准备 1.1、准备好3台服务器,这里我以两台服务器搭建的k8s集群,还有一台用来搭建好harbor远程仓库 1.2、准备好构建fdfs所需的安装包 1.3、准备好fastdfs中相关配置文件模板 2、编写创建fastdfs镜像的Dockerfile脚本 内容如下: FROM centos:7 MAINTAINER kgf <kgf@123.com> ENV FASTDFS_PAT...

花&败 4094

告别MRT!用ArcGIS脚本批量处理MODIS数据,从HDF到NDVI/ET成品图全流程(附Python代码)

本文详细介绍了使用ArcGIS Python脚本自动化处理MODIS数据的全流程,从HDF文件提取到生成NDVI/ET成品图。通过优化子数据集提取、智能镶嵌策略和投影转换等核心步骤,大幅提升处理效率,告别传统MRT工具的手工操作。附带的Python代码可直接应用于实际项目,特别适合批量处理大规模遥感数据。

weixin_30872337的博客 219

SpringBoot整合fastdfs

1、导入jar包 <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.26.5</version...

... 1万+

保姆级教程:手把手教你用RKISP TURN为RV1106生成和配置IQfile(附AIQ版本匹配避坑指南)

本文提供RV1106 ISP调试的完整指南,详细讲解如何使用RKISP TURN工具生成和配置IQfile,包括环境搭建、参数调试、设备树配置及常见问题解决方案。特别强调AIQ版本匹配的重要性,帮助开发者避免常见陷阱,提升图像信号处理效率。

weixin_42520796的博客 489

如何在Jetson Nano上快速搭建Pytorch环境(含torchvision安装教程)

本文详细介绍了在Jetson Nano上快速搭建PyTorch环境的完整步骤,包括系统准备、PyTorch安装优化、torchvision编译安装及环境测试。通过本指南,开发者可以高效部署深度学习开发环境,充分利用Jetson Nano的GPU加速能力进行计算机视觉项目开发。

weixin_42628941的博客 340

FastDFS卸载

由于FastDFS软件并未提供直接的一键卸载,所以卸载有点麻烦,FastDFS卸载步骤如下: 注意:所有删除操作请务必先查看是否存在文件文件是否为FastDFS相关 停止服务 [root@bogon fdfs]#service fdfs_trackerd stop [root@bogon fdfs]#service fdfs_storaged stop 通过storage.conf找到bas...

gsq8896的博客 6553

保姆级教程:用SOEM主站搞定汇川SV660N伺服驱动器的EtherCAT通讯(附完整C代码)

本文提供了一份详细的SOEM主站与汇川SV660N伺服驱动器EtherCAT通讯的实战教程,涵盖环境搭建、状态机理解、PDO映射配置、CiA402状态机实战、实时性能优化及诊断调试等关键步骤,并附完整C代码示例,帮助开发者快速实现工业级EtherCAT控制。

weixin_28292761的博客 302

Linux安装FastDFS

传送门链接 fastdfs与nginx整合,使用Java客户端操作fastdfs。 下载 下载传送门 主要下载: 下载完成之后将其压缩包分别进行解压 unzip libfastcommon.zip unzip fastdfs.zip unzip fastdfs-nginx-module.zip 找不到unzip命令的话就直接yum安装:yum -y install unzip 解压...

难受啊马飞的博客 1706

Xilinx FPGA平台GTX简易使用教程(五)GTX收发测试及示例工程介绍

GTX IP配置完了,你不得搞个回环测试一番?

数字IC/FPGA杂货铺,找一找,或许有你想要的~ 1万+

Detector-Free SfM 项目复现完整指南:从环境搭建到代码解析与可视化

本文提供了Detector-Free SfM项目的完整复现指南,涵盖技术背景、环境配置、代码解析和可视化方案。重点包括: 技术背景:Detector-Free SfM通过两阶段策略(粗重建+迭代精化)解决了传统SfM在弱纹理区域的瓶颈问题,采用深度学习匹配器替代传统特征点检测。 环境配置: 详细硬件要求与推荐配置(GPU/CPU/内存) 完整的Ubuntu系统设置步骤 Conda环境创建与依赖安装流程 关键组件安装指南(PyTorch、COLMAP等) 常见错误解决方案 项目特点: 支持多种Detector

huanghm88的专栏 121

FastDFS安装步骤以及SpringBoot集成fastdfs-client-java

1、前期准备2、CentOS添加编译环境 yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y 二、磁盘目录 mkdir -p /usr/local/soft #所有安装包目录mkdir -p /data/fastdfs #数据存储位置cd /usr/local/soft git clone https://github.co

查查攻城狮 4287

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Ubuntu上安装FastDFS

①:安装参考链接https://www.cnblogs.com/yufeng218/p/8111961.html ②:所需安装包下载链接: wget https://sourceforge.net/projects/fastdfs/files/FastDFS Nginx Module Source Code/fastdfs-nginx-module_v1.16.tar.gz wget https:...

wzj的博客 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

ubuntu 安装Fastdfs

安装fastdfs依赖插件libfastcommon 下载:https://github.com/happyfish100/libfastcommon/archive/V1.0.39.tar.gz 创建/usr/local/software/目录,用于我们存放需要的文件 mkdir -p /usr/local/software/ 通过ftp服务,上传V1.0.39.tar.gz包 解压文件 cd /usr/local/software/ ls tar...

weisian的博客 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

FastDFS分布式存储

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册1网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标、使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。

m0_70627741的博客 1483

fastDFS

工作原理文件上传流程文件下载流程。

2401_87675115的博客 1222
上一篇: 《hadoop学习》关于hdfs中的namenode和datanode详解
下一篇: HBase底层存储原理
琅琊山二当家
博客等级 码龄18年 447粉丝 322原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值