FastDFS学习总结(1)--FastDFS安装和部署
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安装和部署相关推荐
- FastDFS安装与部署
FastDFS安装与部署 文章目录 FastDFS安装与部署 1. 什么是FastDFS 2.文件上传流程 3. 文件下载流程 4. 简易FastDFS架构 5. FastDFS安装 5.1 安装fa ...
- FastDFS 分布式文件系统介绍及安装部署
依赖环境版本说明: 操作系统CentOS6.5 目标 了解项目中使用FastDFS的原因和目的: 掌握FastDFS的架构组成部分,能说出tracker和storage的作用: 了解FastDFS+n ...
- 学习——分布式文件系统 fastDFS
1 什么是分布式文件系统 1.1 技术应用场景 文件太多如何高效存储?用户访问量大如何保证下载速度?这些问题都可以通过分布式文件系统解决.分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视 ...
- FastDFS 学习笔记
一.理论基础 FastDFS比较适合以中小文件为载体的在线服务,比如跟NGINX(APACHE)配合搭建图片服务器. 分布式文件系统FastDFS FastDFS是纯C语言实现,只支持Linux.Fr ...
- FastDFS学习笔记
FastDFS课程内容 第一部分:FastDFS基础回顾 为什么要有分布式文件系统.分布式文件系统对比.FastDFS特性.linux安装.java访问FastDFS 第二部分:FastDFS系统架构 ...
- FastDFS 学习笔记
一.理论基础 FastDFS比较适合以中小文件为载体的在线服务,比如跟NGINX(APACHE)配合搭建图片服务器. 分布式文件系统FastDFS FastDFS是纯C语言实现,只支持Linux.Fr ...
- (转)分布式文件存储FastDFS(二)FastDFS安装
http://blog.csdn.net/xingjiarong/article/details/50559761 在前面的一篇中,我们分析了FastDFS的架构,知道了FastDFS是由客户端,跟踪 ...
- 云计算学习1——OpenStack云计算安装部署步骤图文并茂(先电2.2)
声明:原创作品,严禁用于商业目的. 如有任何技术问题,欢迎和我交流:408797506(微信同号). 腾讯课堂链接 B站试看视频链接 文章目录 1. 配置虚拟机 2. 创建控制节点和计算节点的虚拟机 ...
- 学习FusionInsight HD 安装与部署文档
政府项目一般都会用到华为的项目, 所以必须学习华为的东西. 这里学习的是FusionInsight HD 6.5.1的安装与部署文档. 相关文档可以在华为官网下载. 1. FusionInsigh ...
最新文章
- Chrome 被曝 0day 漏洞,可让黑客获取用户数据
- BFC(Box Formatting Context)的原理
- Sharding Sphere 读写分离的配置
- 【PowerBi】Power Query 对数据进行合并查询
- 怎么修改地磅服务器的修改记录,地磅无人值守系统软件怎么修改数据
- zTree结合Asp.net实现异步加载数据(写的可能有点简单....)
- Linux chapter 4
- ubuntu 22.04 网易云音乐安装
- 星星之火-47: 5G的八大组网方案
- mysql生成 my.cnf_mysql配置文件my.cnf一键生成工具
- JAVA dwg转pdf的正确解法
- 玩玩python之爬取补天厂商列表
- C语言实现密码登录界面,你可能已被盯上!
- java基础语言+面向对象_经典案例——65个
- 当相干伊辛机遇上量子退火机,谁更胜一筹?
- Opencv查找两张图片不同的部分以及图片中特定的像素替换
- 完美解码(超强多功能播放器) v20190811官方无广告纯净版
- 绝地求生大逃杀DLL140dll出错怎么办?
- mysql完全限定表列名_mysql必知必会--检 索 数 据
- 基于Netty的代理工具Proxy
热门文章
- 把服务器文件,如何把文件放在服务器
- 如何来评测服务器性能,Web实战之:服务器性能的测量评价
- python课程ppt_Python电子教学课件12程序设计基本方法.ppt
- arm11搭建Linux平台,armlinux软硬件平台搭建.doc
- python编码转换规范_Python转载[编码规范]
- 双拼输入法键位图_你知道双拼输入法吗?
- golang goroutine实现_golang中的Mutex设计原理详解(一)
- java中isa什么意思_ISA是什么?
- redis基础类型:string
- android sugar框架 使用,数据库框架Sugar的使用