首页 > 其他分享 >FastDFS 介绍

FastDFS 介绍

时间:2024-01-13 22:34:34浏览次数:30  
标签:FastDFS storage 介绍 tracker 服务器 docker root localhost

一、介绍

  • FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
  • FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
  • FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。
    • 跟踪器主要做调度工作,在访问上起负载均衡的作用。
    • 存储节点存储文件,完成文件管理的所有功能:就是这样的存储、同步和提供存取接口,FastDFS同时对文件的metadata进行管理。
    • 跟踪器和存储节点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。
    • 当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
  • FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。
    • Tracker Server:跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。
    • Storage Server:存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。
    • Client:客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。
      image

二、交互过程

  • 上传的交互过程
    1. client询问tracker上传到的storage,不需要附加参数;
    2. tracker返回一台可用的storage;
    3. client直接和storage通讯完成文件上传。
      image
  • 下载的交互过程
    1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
    2. tracker返回一台可用的storage;
    3. client直接和storage通讯完成文件下载。
      image

三、安装

  • 注意修改IP
# 如果已经安装,需要先停止,再删除
[root@localhost ~]# docker ps -a
[root@localhost ~]# docker stop storage
storage
[root@localhost ~]# docker rm storage
storage
[root@localhost ~]# docker stop tracker
tracker
[root@localhost ~]# docker rm tracker
tracker
# 运行tracker
[root@localhost ~]# docker run -d --name tracker --net=host docker.io/morunchang/fastdfs sh tracker.sh

# 运行storage
[root@localhost ~]# docker run -d --name storage --net=host -e TRACKER_IP=192.168.120.132:22122 -e GROUP_NAME=group1 docker.io/morunchang/fastdfs  sh storage.sh

# 使用的网络模式是--net=host
# TRACKER_IP 是宿主机IP
# group1 是组名,如果想要新增服务器,可以重复执行该命令,记得修改组名和IP

# 修改容器总是随着docker重启
[root@localhost ~]# docker update --restart=always tracker
tracker
[root@localhost ~]# docker update --restart=always storage
storage
# 这个配置文件可以看出8080端口被占用了,且访问的地址
root@localhost:/# cat /etc/nginx/conf/nginx.conf

location ~ /M00 {
                    root /data/fast_data/data;
                    ngx_fastdfs_module;
        }


标签:FastDFS,storage,介绍,tracker,服务器,docker,root,localhost
From: https://www.cnblogs.com/his365/p/17963127

相关文章

  • Gorm 关联关系介绍与基本使用
    目录一BelongsTo(一对一)1.1BelongsTo1.2重写外键1.3重写引用(一般不用)1.4Belongsto的CRUD1.5预加载1.6外键约束二、HasOne2.1HasOne2.2重写外键2.3重写引用2.4多态关联2.5HasOne的CURD2.6预加载2.7自引用HasOne2.8外键约束三、HasMany3.1HasMany3......
  • 51、Flink的管理执行(执行配置、程序打包和并行执行)的介绍及示例
    文章目录Flink系列文章一、执行配置二、程序打包和分布式运行1、打包程序2、总结三、并行执行1、设置并行度1)、算子层次2)、执行环境层次3)、客户端层次4)、系统层次2、设置最大并行度本文介绍了Flink的管理执行的三个内容,即执行配置、打包和分布式运行以及并行执行(设置并行度的几......
  • 50、Flink的单元测试介绍及示例
    文章目录Flink系列文章一、Flink测试概述二、测试用户自定义函数1、单元测试无状态、无时间限制的UDF1)、示例-mapFunction2)、示例-flatMapFunction2、对有状态或及时UDF和自定义算子进行单元测试1)、DataStreamAPI测试依赖2)、TableAPI测试依赖3)、flatmapfunction单元测试......
  • SAP ABAP 系统数据库表 TFDIR的作用介绍
    SAPABAP系统的数据库表TFDIR的主要作用是存储函数模块(FunctionModules)的目录信息,包括函数模块的名称、所在的函数组信息,函数模块的功能和调用方式等等。具体来说,TFDIR是ABAP中用来存放系统中所有函数模块定义的一个数据库表,每个函数模块在系统中只有一个定义,这个定义就被......
  • 《PySpark大数据分析实战》-14.云服务模式Databricks介绍基本概念
    ......
  • 北斗网络时钟服务器介绍、网络校时服务器,北斗网络授时服务器,时钟服务器
    随着科学技术的发展工业信息化高速迈进许多设备对于高精度时间系统应用日益广泛,高稳定时钟系统显得尤为重要,在某些系统设备从而需要网络校时服务器进行校正,网络时间服务器可接收北斗卫星标准时间为基准同步时间。网络校时服务器是针对自动化系统中的计算机、控制装置等进行校时的高......
  • MetaForce(matic马蹄链)佛萨奇2.0系统开发及介绍玩法方案
    Forsage佛萨奇系统开发方案,智能合约是一种用计算机语言记录条款并由程序自动执行的合约。DigitalRMBrealizesprogrammabilitybyloadingsmartcontractsthatdonotaffectcurrencyfunctions,enablingdigitalRMBtoconductautomaticpaymenttransactionsaccordingto......
  • 苹果手机群控系统,简单的介绍一下
    苹果手机群控系统是一种可以帮助用户快速配置和管理多台设备的工具,它为用户提供了方便的方法来控制多个设备的设置,例如Wi-Fi、蓝牙、AirDrop、应用等。群控系统使得多个设备之间的操作变得更加协同、高效。苹果手机群控系统的应用场景非常广泛,它可以用于企业中的设备管理,也可以用......
  • Fpga开发笔记(一):高云FPGA芯片介绍,入手开发板套件、核心板和底板介绍
    前言  FPGA作为一种逻辑芯片,硬件架构独特,具有并行性、低延时性和灵活性等特性,应用领域广泛。  FPGA市场主要玩家是英特尔、AMD、莱迪思、Microchip、Achronix等;国内厂商包括复旦微电、紫光国微、安路科技、东土科技、高云半导体、京微齐力、京微雅格、智多晶、遨格芯等。 ......
  • Powershell数据类型介绍-02
    当在PowerShell中定义和使用数据类型时,有几个注意事项需要考虑:#定义和使用数据类型的注意事项#类型声明,在定义变量时,可以使用[<类型>]语法显式声明变量的类型。这有助于提高代码可读性和类型安全性。[string]$myString="Hello,World!"#动态类型,PowerShell是一种动......