fastDFS系统搭建与使用总结(一)

本文深入解析FastDFS,一个开源的分布式文件系统,适用于小文件存储,重点介绍了其高性能、高扩展性特点及架构,包括tracker和storage组件,并详细指导如何搭建FastDFS环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

fastDFS使用

fastdfs是一个开源高性能的分布式文件系统,它的主要功能包括文件存储、
文件同步和文件访问。主要解决大容量存储和负载均衡问题。
其主要适用于一些小文件的存储系统

一、FastDFS介绍

1、特点

  • 高性能、高扩展、分组进行存储
  • 支持水平扩展、不存在单点问题
  • 提供和apache和nginx扩展模块。借助nginx 提供http服务
  • 支持文件去重
  • 提供操作集群的API(java、php、c)

2、fastdfs架构说明

FastDFS服务端分为tracker(跟踪器)和storage(存储节点)。
1、tracker server:主要负责调度的工作,和负载均衡的作用。它的高性能主要体现在:它会在内存中记录集群中group和存储节点服务器的状态信息。
2、storage server:存储节点,主要在磁盘上存储基本的文件和文件的属性信息(meta data)
  Meta data:以键值对(key valuepair)方式表示。比如保存图片的weight和height。weight=500其key=weight ,valuepair=500

FastDFS文件上传和下载原理图

  • 文件上传机制

     上传架构

  • 文件下载机制

      下载架构

二、FastDFS环境搭建

开源项目地址 https://github.com/happyfish100/fastdfs

1、相关环境的安装

  • 安装基础运行环境

    yum install gcc-c++ perl-devel pcre-devel openssl-devel zlib-devel wget
    
  • 下载并安装libfastcommon

    libfastcommon是fastdfs的依赖包

    下载地址:

    中文:https://sourceforge.net/projects/libfastcommon/
    github:https://github.com/happyfish100/libfastcommon
      github上下载是可以进入releases直接下载或者通过复制链接店址利用wget进行下载

    wget https://github.com/happyfish100/libfastcommon/archive/V1.0.36.tar.gz
    # 解压文件
    tar -zxvf  V1.0.36.tar.gz
    # 编译并安装
    cd fastlibcommon 
    ./make.sh
    ./make.sh install 
    
  • 下载并安装fastdfs

      wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
      # 解压文件
      tar -zxvf V5.11.tar.gz
      # 编译并安装
      cd fastdfs-5.11
      ./make.sh
      ./make.sh install 
    

    安装成功之后会在/etc/fdfs目录下产生对应的配置文件client.conf,tracker.conf,storager.conf等

2、环境配置

  • 创建fastdfs数据保存目录

    mkdir -p /data/fastdfs/{tracker,storage/store}
    # 文件数据主要保存在store文件夹目录下。日志等信息会对应的存储到storage目录下
    
  • 创建启动所需的配置文件

    # 将临时备份的配置文件复制修改为启动文件
    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
    cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
    cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
    
  • 编辑配置文件

    • 配置tracker服务文件
    vi /etc/fdfs/tracker.conf
    # tracker日志存放目录
    base_path=/data/fastdfs/tracker
    
    • 配置storager服务的文件
    vi /etc/fdfs/tracker.conf
    # 日志文件存放目录
    base_path=/data/fastdfs/storage/
    # 文件存储位置
    store_path0=/data/fastdfs/storage/store/
    # tracker服务地址
    tracker_server=tracker-host:port(默认22122)
    
    • 配置client.conf
    vi /etc/fdfs/client.conf
    base_path=/tmp
    tracker_server=192.168.128.141.22122
    

3、启动fastdfs

分别启动tracker server,storage server

fdfs_trackerd /etc/fdfs/tracker.conf start
fdfs_storaged /etc/fdfs/storage.conf start
# 查看fastdfs状态
fdfs_monitor /etc/fdfs/client.conf

4、简单客户端操作命令

文件操作命令:
操作命令
上传文件后的返回值:
在这里插入图片描述
  group1表示上传图片所放的组。为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。即为group1…groupn的形式来组织。卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值