FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS非常适用于基于文件服务的站点,例如图片分享和视频分享网站

FastDFS有两个角色:跟踪服务(tracker)和存储服务(storage),跟踪服务控制,调度文件以负载均衡的方式访问;存储服务包括:文件存储,文件同步,提供文件访问接口,同时以key value的方式管理文件的元数据

跟踪和存储服务可以由1台或者多台服务器组成,同时可以动态的添加,删除跟踪和存储服务而不会对在线的服务产生影响,在集群中,tracker服务是对等的

存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。

一、开始安装:

1. 在http://code.google.com/p/fastdfs/downloads/list下载所需文件,此外还需先安装好libevent。

2. tar xzf FastDFS_v2.11.tar.gz

3. cd FastDFS
如果支持HTTP, vi make.sh,使用/WITH_HTTPD查找到这一行,输入i进入编辑模式,删除掉前面的注释#,:wq保存退出,如果需要安装成服务,则把下面一行也解开。
./make.sh
./make.sh install

4. 准备几个空闲的端口,可以使用netstat -an | grep 端口号是否被占用。

5. 根据实际情况修改/etc/fdfs下的配置文件,每个上面都有注释说明,如果需要HTTP,别忘了解开最下面的#include http.conf,要带一个#

6. 启动tracker: /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

7. 启动storage: /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf,如果出现错误,可以到步骤5修改配置文件时设置的目录的log目录下查看具体错误原因。

8. 到此安装配置完毕

二、操作使用:在FastDFS安装目录bin下有以下可执行文件。


上传文件:/usr/local/bin/fdfs_upload_file  <config_file> <local_filename>

下载文件:/usr/local/bin/fdfs_download_file <config_file> <file_id> [local_filename]

删除文件:/usr/local/bin/fdfs_delete_file <config_file> <file_id>

monitor: /usr/local/bin/fdfs_monitor /etc/fdfs/client.conf

关闭:

killall fdfs_trackerd

killall fdfs_storaged

/usr/local/bin/stop.sh /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/local/bin/stop.sh /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

重启:

/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/local/bin/restart.sh /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

三、测试上传:

./fdfs_test ../conf/client.conf upload QQ.png,可以看到文件上传成功。

在app/fdfs407/data/data/00/3C目录下可以找到刚刚上传的图片:

四、FastDFS上传/下载过程:

首先客户端 client 发起对 FastDFS 的文件传输动作,是通过连接到某一台 Tracker Server 的指定端口来实现的,Tracker Server 根据目前已掌握的信息,来决定选择哪一台 Storage Server ,然后将这个Storage Server 的地址等信息返回给 client,然后 client 再通过这些信息连接到这台 Storage Server,将要上传的文件传送到给 Storage Server上。

上传过程:

下载过程:

在我的项目中,一般启动2个tracker和2个storage就可以了,如下所示:

./fdfs_trackerd ../conf/tracker-1.conf
./fdfs_trackerd ../conf/tracker-2.conf
./fdfs_storaged ../conf/storage-g1-1.conf
./fdfs_storaged ../conf/storage-g2-1.conf

FastDFS学习总结(1)--FastDFS安装和部署相关推荐

  1. FastDFS安装与部署

    FastDFS安装与部署 文章目录 FastDFS安装与部署 1. 什么是FastDFS 2.文件上传流程 3. 文件下载流程 4. 简易FastDFS架构 5. FastDFS安装 5.1 安装fa ...

  2. FastDFS 分布式文件系统介绍及安装部署

    依赖环境版本说明: 操作系统CentOS6.5 目标 了解项目中使用FastDFS的原因和目的: 掌握FastDFS的架构组成部分,能说出tracker和storage的作用: 了解FastDFS+n ...

  3. 学习——分布式文件系统 fastDFS

    1 什么是分布式文件系统 1.1 技术应用场景 文件太多如何高效存储?用户访问量大如何保证下载速度?这些问题都可以通过分布式文件系统解决.分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视 ...

  4. FastDFS 学习笔记

    一.理论基础 FastDFS比较适合以中小文件为载体的在线服务,比如跟NGINX(APACHE)配合搭建图片服务器. 分布式文件系统FastDFS FastDFS是纯C语言实现,只支持Linux.Fr ...

  5. FastDFS学习笔记

    FastDFS课程内容 第一部分:FastDFS基础回顾 为什么要有分布式文件系统.分布式文件系统对比.FastDFS特性.linux安装.java访问FastDFS 第二部分:FastDFS系统架构 ...

  6. FastDFS 学习笔记

    一.理论基础 FastDFS比较适合以中小文件为载体的在线服务,比如跟NGINX(APACHE)配合搭建图片服务器. 分布式文件系统FastDFS FastDFS是纯C语言实现,只支持Linux.Fr ...

  7. (转)分布式文件存储FastDFS(二)FastDFS安装

    http://blog.csdn.net/xingjiarong/article/details/50559761 在前面的一篇中,我们分析了FastDFS的架构,知道了FastDFS是由客户端,跟踪 ...

  8. 云计算学习1——OpenStack云计算安装部署步骤图文并茂(先电2.2)

    声明:原创作品,严禁用于商业目的. 如有任何技术问题,欢迎和我交流:408797506(微信同号). 腾讯课堂链接 B站试看视频链接 文章目录 1. 配置虚拟机 2. 创建控制节点和计算节点的虚拟机 ...

  9. 学习FusionInsight HD 安装与部署文档

      政府项目一般都会用到华为的项目, 所以必须学习华为的东西. 这里学习的是FusionInsight HD 6.5.1的安装与部署文档. 相关文档可以在华为官网下载. 1. FusionInsigh ...

最新文章

  1. Chrome 被曝 0day 漏洞,可让黑客获取用户数据
  2. BFC(Box Formatting Context)的原理
  3. Sharding Sphere 读写分离的配置
  4. 【PowerBi】Power Query 对数据进行合并查询
  5. 怎么修改地磅服务器的修改记录,地磅无人值守系统软件怎么修改数据
  6. zTree结合Asp.net实现异步加载数据(写的可能有点简单....)
  7. Linux chapter 4
  8. ubuntu 22.04 网易云音乐安装
  9. 星星之火-47: 5G的八大组网方案
  10. mysql生成 my.cnf_mysql配置文件my.cnf一键生成工具
  11. JAVA dwg转pdf的正确解法
  12. 玩玩python之爬取补天厂商列表
  13. C语言实现密码登录界面,你可能已被盯上!
  14. java基础语言+面向对象_经典案例——65个
  15. 当相干伊辛机遇上量子退火机,谁更胜一筹?
  16. Opencv查找两张图片不同的部分以及图片中特定的像素替换
  17. 完美解码(超强多功能播放器) v20190811官方无广告纯净版
  18. 绝地求生大逃杀DLL140dll出错怎么办?
  19. mysql完全限定表列名_mysql必知必会--检 索 数 据
  20. 基于Netty的代理工具Proxy

热门文章

  1. 把服务器文件,如何把文件放在服务器
  2. 如何来评测服务器性能,Web实战之:服务器性能的测量评价
  3. python课程ppt_Python电子教学课件12程序设计基本方法.ppt
  4. arm11搭建Linux平台,armlinux软硬件平台搭建.doc
  5. python编码转换规范_Python转载[编码规范]
  6. 双拼输入法键位图_你知道双拼输入法吗?
  7. golang goroutine实现_golang中的Mutex设计原理详解(一)
  8. java中isa什么意思_ISA是什么?
  9. redis基础类型:string
  10. android sugar框架 使用,数据库框架Sugar的使用