fastdfs

FastDFS简介

自作多情 提交于 2020-01-22 10:06:54
什么是FastDFS? FastDFS是由淘宝的余庆先生开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富: • 文件存储 • 文件同步 • 文件访问(上传、下载) • 存取负载均衡 • 在线扩容 适合有大量存储需求的应用或系统。 同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)(大数据会用这个)、TFS(淘宝)等 架构图 FastDFS两个主要的角色: Tracker Server 和 Storage Server 。 • Tracker Server:跟踪服务器,主要负责调度storage节点与client通信,在访问上起负载均衡作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽。 • Storage Server:存储服务器,保存文件和文件的meta data(元数据),每个storage server会启动一个单独的线程主动向Tracker cluster中每个tracker server报告其状态信息,包括磁盘使用情况,文件同步情况及文件上传下载次数同级等信息。 • Group:文件组,多台Storage Server的集群。上传一个文件到同组内的一台机器上后,FastDFS会将该文件及时同步到同组内的其他所有机器上,起到备份作用。不同组的服务器,保存的数据不同,而且相互独立,不进行通信。 •

FastDFS的安装以及与nginx整合

烈酒焚心 提交于 2020-01-20 21:54:15
1 FastDFS 安装 1.1 安装虚拟机 安装 CentOS7 虚拟机。 1.2 FastDFS–tracker 安装 分别在 192.168.101.3 和 192.168.101.4 上安装 tracker。 注:初次安装可只安装一台 tracker即192.168.101.3, 快速体验。 1.2.1 下载 tracker 和 storage 使 用 相 同 的 安 装 包 , 下载地址 本教程使用: FastDFS_v5.05.tar.gz 1.2.2 FastDFS 安装环境 FastDFS 是 C 语言开发,建议在 linux 上运行,本教程使用 Centos7 作为安 装环境。 安装 FastDFS 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果 没有 gcc 环境,需要安装 gcc: yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake 1.2.3 安装 libevent FastDFS 依赖 libevent 库,需要安装: yum - y install libevent 1.2.4 安装 libfastcommon libfastcommon 是 FastDFS 官方提供的, libfastcommon 包含了 FastDFS 运行所需要的一些基础库。将

FastDFS简介

孤者浪人 提交于 2020-01-19 16:59:24
一、背景 早期的网站,将静态文件(图片等)直接存放在项目文件夹内,优点(简单方便快捷),缺点(耦合度高,静态文件访问占用资源多); 后来将静态文件分离存储在一个单独的文件服务器上,优点(解耦,降低网站服务器压力,便于扩容、备份、负载均衡等),缺点(垂直扩展性、容灾差,单机性能瓶颈); 分布式文件存储系统,分为三部分,文件存储系统(保存文件)、文件容灾系统(相互备份)、文件访问调度仲裁系统(调配资源,决定存储位置),优点(极大扩展能力,高可用性,弹性存储),缺点(系统复杂度高,需要更多硬件资源)。 二、FDFS简介 FastDFS是一个开源的轻量级分布式文件系统,它解决了大数据量存储和负载均衡等问题,特别适合以中小文件(建议范围:4KB-500MB)为载体的在线服务,使用纯C实现。 优势:适合通用分布式,fastDFS非常适合存储图片等那些小文件,fastDFS不对文件进行分块,所以它就没有分块合并的开销,fastDFS网络通信采用socket,通信速度很快。 FastDFS分为三个部分: 1. tracker server(追踪/调度服务器) 主要做调度工作,起负载均衡的作用,在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽,且Tracker是FastDFS的协调者,负责管理所有的storage server和group

CentOS安装FastDFS超详细教程

試著忘記壹切 提交于 2020-01-19 13:59:27
请你用绝对的理智和清醒的头脑去压制你心里的爱和难过 首先下载所需要的安装文件, 点击下载 。 一、上传 将下载文件上传到linux下的 /home/fdfs 目录: 二、安装依赖 1、安装GCC依赖 GCC用来对C语言代码进行编译运行,使用yum命令安装: yum -y install gcc 2、安装unzip工具 unzip工具可以帮我们对压缩包进行解压 : yum install -y unzip zip 3、安装libevent yum -y install libevent 4、安装Nginx所需依赖 yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel 5、安装libfastcommon-master 这个没有yum包,只能通过编译安装: ---解压刚刚上传的 libfastcommon-master.zip unzip libfastcommon-master.zip ---进入解压完成的目录: cd libfastcommon-master ---编译并且安装: ./make.sh && ./make.sh install 到这里为止,所有依赖都已经安装完毕,接下来我们安装FastDFS 三、 安装FastDFS 1、编译安装 ---解压 tar -xvf FastDFS_v5.08

分布式存储系统FastDFS

帅比萌擦擦* 提交于 2020-01-19 04:29:15
目录 软件的安装、配置 安装列表 安装所需的依赖包 安装libfastcommon 安装FastDFS 配置tracker服务器,并启动 配置Storage服务器,并启动 修改Client,以测试图片上传 FDFS和Nginx组合 使用Nginx来访问FastDFS中的文件 程序操作FDFS Python 软件的安装、配置 安装列表 fastdfs的安装需要centos,我在ubuntu上安装没有成功 安装所需的依赖包 安装前可使用dpkg -l | grep gcc命令来查看依赖包是否已经安装,如果没有,使用下列命令来安装相应的依赖包 yum - y install libevent //Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库 yum - y install pop * //安装popler,popt等库 yum - y install openssl * //使得nginx不仅支持http,还支持https yum install - y gcc gcc - c ++ //安装gcc,用于编译nginx 安装libfastcommon 将libfastcommon-1.0.7.tar.gz解压至指定目录(所有安装包都在/home/sword/distributed-storage/),然后使用以下命令来安装。 . / make . sh . /

上传图片到FastDFS

孤人 提交于 2020-01-17 17:49:05
上传图片到FastDFS 根据github上来配置 https://github.com/tobato/FastDFS_Client 引入maven依赖 <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.26.7</version> </dependency> Java客户端(client)是通过跟踪服务(TrackerServer)来存储,存储服务(storageServer)会定时的发送心跳给跟踪服务来告诉自己的状态. 使用方法 上传文件代码 // 要上传的文件 File file = new File("C:\\Users\\Pictures\\壁纸\\u=2778534515,2824035544&fm=15&gp=0.jpg"); // 上传并保存图片,参数:1-上传的文件流 2-文件的大小 3-文件的后缀 4-可以不管他 StorePath storePath = this.storageClient.uploadFile(new FileInputStream(file), file.length(), "jpg", null); // 带分组的路径 System.out.println(storePath

安装fastDFS

强颜欢笑 提交于 2020-01-17 13:01:36
FastDFS 是用 c 语言编写的一款开源的分布式文件系统。FastDFS 为互联网量身定制, 充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用 FastDFS 很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 FastDFS 架构包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。 Tracker server 作用是负载均衡和调度,通过 Tracker server 在文件上传时可以根据一些 策略找到 Storage server 提供文件上传服务。可以将 tracker 称为追踪服务器或调度服务 器。 Storage server 作用是文件存储,客户端上传的文件最终存储在 Storage 服务器上, Storageserver 没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将 storage 称为存储服务器。 安装 libfastcommon依赖库 下载 https://github.com/happyfish100/libfastcommon/releases 解压 tar -zxvf libfastcommon-1.0.43

FastDFS图片上传工具类

北城余情 提交于 2020-01-17 01:15:27
public class UploadUtil { public static String uploadImage ( MultipartFile multipartFile ) { String imgUrl = Constant . trackerServerIP ; //fastdfs服务器ip自行设置 //上传图片服务器 //配置fdfs的全局链接地址 String tracker = PmsUploadUtil . class . getResource ( "/tracker.conf" ) . getPath ( ) ; //获得配置文件的路径 try { ClientGlobal . init ( tracker ) ; } catch ( IOException e ) { e . printStackTrace ( ) ; } catch ( MyException e ) { e . printStackTrace ( ) ; } TrackerClient trackerClient = new TrackerClient ( ) ; //获得trackerServer的实例 TrackerServer trackerServer = null ; try { trackerServer = trackerClient . getConnection (

服务器(centos6.5)安装和配置FastDFS

我是研究僧i 提交于 2020-01-16 18:33:46
一、基础 FastDFS是纯C语言实现,只支持Linux、FreeBSD等UNIX系统。 FastDFS的两个核心概念分别是:Tracker(跟踪器)、Storage(存储节点) 二、目的 搭建图片服务器 三、安装环境 依赖: libfastcommon-master.zip fastdfs-master.zip fastdfs-nginx-module-master.zip 传送门: https://github.com/happyfish100/libfastcommon https://github.com/happyfish100/fastdfs https://github.com/happyfish100/fastdfs-nginx-module 云盘: 链接:https://pan.baidu.com/s/1Bct79IJ6outBP8757-EWnQ 提取码:p9df 链接:https://pan.baidu.com/s/1buKNgzuL91kwQhX2l0OvBw 提取码:0xb6 链接:https://pan.baidu.com/s/13gQ8MFtbNUpJq5m_CMjR7Q 提取码:03u5 下载好后传到云服务器如图(与nginx同一目录下): 安装libfastcommon: 解压: cd /usr/local/ unzip libfastcommon

SpringBoot2 整合 FastDFS 中间件,实现文件分布式管理

我们两清 提交于 2020-01-16 11:22:16
本文源码: GitHub·点这里 || GitEE·点这里 一、FastDFS简介 1、FastDFS作用 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件上传、文件下载等,解决了大容量存储和负载均衡的问题。 安装连接: 安装流程详解 2、核心角色 FastDFS是由跟踪服务器(trackerserver)、存储服务器(storageserver)和客户端(client)三个部分组成。 1)跟踪服务器 FastDFS的协调者,负责管理所有的storage server和group,每个storage在启动后会连接Tracker,告知自己所属的group等信息,并保持周期性的心跳,tracker根据storage的心跳信息,建立group到[storage server list]的映射表。 2)存储服务器 以组(group)为单位,一个group内包含多台storage机器,数据互为备份,存储空间以group内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费。 3)客户端 业务请求的发起方,通过专有接口,使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互。 3、运转流程 1、存储服务定时向跟踪服务上传状态信息; 2、客户端发起请求; 3、跟踪器同步存储器状态