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

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的形式来组织。卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Re:  FastDFS 分布式文件系统部署 ============================== FastDFS 分布式存储主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等 它的存储特点是对文件体积小或超小,同时文件的数量特别多的存储情况支持较好,(如果是大文件的存储就推荐使用 Glusterfs 分布式网络文件存储),所谓的小文件就是指网站的图片,文档或者小视频等等,体积范围在4K~500MB之间。所谓的大文件指软件的镜像包、电影等等。 除了FastDFS存储文件特点之外,它同时具备自我负载均衡的能力,可以解决了运维自动化的关键问题。 # 块存储、文件存储、对象存储这三者的本质差别是什么? 1)块存储:磁盘阵列,硬盘(块存储主要是将裸磁盘空间整个映射给主机使用的) 2)文件存储:FTP、NFS服务器(解决文件无法共享的问题) 3)对象存储:内置大容量硬盘的分布式服务器(解决容量、性能、可靠性等问题) 多台服务器内置大容量硬盘,再装上对象存储软件, 然后再额外搞几台服务作为管理节点,安装上对象存储管理软件。 # gluterfs主要运行场景: 存储大文件,针对小文件或超小文件的支持比较差 KVM镜像 视频文件 # FastDFS主要运行场景: 存放文件size范围:4K~500MB # 对象存储 - GlusterFS、Ceph、FastDFS(非对象存储) 必备技能:DRBD/NFS/MooseFS/ GlusterFS/ FastDFS/TFS(http://tfs.taobao.org/)/ # 访问客户端:只能专用API访问实现 存放单元文件size范围:4K~500MB(阅读、声音、视频网站) # 典型用户:      ... ... 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值