fastdfs

FastDFS原理及部署

早过忘川 提交于 2020-04-01 14:32:04
FastDFS 是一个c语言编写的一个开源的轻量级分布式文件系统,它对文件进程管理,功能包括:文件存储,文件同步,文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题,特别适合以文件为载体的在线服务,如相册网站,视频网站等等,FastDFS为互联网量身定制,充分考虑了冗余备份,负载均衡,现行扩容等,并注重高可用,高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载服务。 一、FastDFS原理及架构详解 1、FastDFS架构 FastDFS架构包括Tracker server和Storage server,client请求Tracker server 进行文件上传、下载,通过Tracker server调度最终由Storage server完成文件上传和下载。 Tracker server:负责调度及负载均衡,通过Tracker server,在文件上传时可以根据一些策略找到Storage server来提供上传服务,可以将tracker称为追踪服务器或调度服务器; Storage server:负责文件最终存储,客户端上传的文件最终存储在storage服务器上,Storage server没有实现自己的文件系统,而是利用操作系统的文件系统来管理文件,可以将storage称为存储服务器。 2、Fast DFS系统的角色 Fast

fastdfs 构建docker镜像

戏子无情 提交于 2020-03-31 18:08:17
目录结构 [root@fastdfs]# tree . . ├── conf │ ├── client.conf │ ├── http.conf │ ├── mime.types │ ├── mod_fastdfs.conf │ ├── nginx.conf │ ├── storage.conf │ └── tracker.conf ├── Dockerfile ├── fastdfs.sh └── source ├── fastdfs-nginx-module.tar.gz ├── fastdfs.tar.gz ├── libfastcommon.tar.gz └── nginx-1.15.4.tar.gz 2 directories, 13 files 编写dockerfile,可以自定义启动项目 FROM centos:7.7.1908 LABEL app.maintainer=foxchan LABEL app.version="v6.06" RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ echo 'Asia/Shanghai' >/etc/timezone ENV libfastcommon V1.0.43 ENV fastdfs V6.06 ENV fastdfs-nginx

部署FastDFS

拜拜、爱过 提交于 2020-03-27 22:40:26
一、什么是 FastDFS? FastDFS 是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问 题。特别适合以中小文件(建议范围:文件大小为 4KB-500MB)为载体的在线服务,如 相册网站、视频网站等等。在 UC 基于 FastDFS 开发向用户提供了:网盘,社区,广告 和应用下载等业务的存储服务。 FastDFS 是一款开源的轻量级分布式文件系统纯 C 实现,支持 Linux、FreeBSD 等 UNIX 系统类 google FS,不是通用的文件系统,只能通过专有 API 访问,目前提供了 C、 Java 和 PHP API 为互联网应用量身定做,解决大容量文件存储问题,追求高性能和高 扩展性 FastDFS 可以看做是基于文件的 key value pair 存储系统,称作分布式文件存 储服务更为合适。 FastDFS 服务端有三个角色:跟踪服务器(tracker)、存储服务器(storage)和客户 端(client)。 Tracker: 跟踪服务器,主要做调度工作,起负载均衡的作用。在内存中记录集群中 所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。不记录文 件索引信息,占用的内存量很少。Tracker 是 FastDFS 的协调者,负责管理所有的 storage 和 group,每个 storage 在启 动后会连接

02 fastdfs-client访问fastdfs服务

自闭症网瘾萝莉.ら 提交于 2020-03-27 17:46:06
本文将阐述使用fastdfs客户端插件去访问fastdfs服务。 1、环境约束 idea2018.1.5 jdk-8u162-windows-x64 2、前提约束 已经安装fastdfs服务,作者的图片服务器ip为 192.168.100.192,请读者根据自己的实际情况修改ip,storaged端口一般为22122 2、源代码下载 官网: https://github.com/happyfish100/fastdfs-client-java 百度网盘: 链接: https://pan.baidu.com/s/1CeQ6CWg7tlJy9MalF8NCeg 提取码:ptco 3、解压,使用idea打开该项目 以下为项目结构: 4、修改fdfs_client.conf 源码中已经有配置,我们简化处理,修改fdfs_client.conf为以下内容: tracker_server=192.168.100.192:22122 5、测试文件上传【确保在src同级目录下有一个1.png图片】 在src/java中新建TestUpload.java import org.csource.common.MyException; import org.csource.fastdfs.*; import java.io.IOException; public class Test { public

【转雷哥】FastDFS安装教程直接复制实测【最新安装包】

江枫思渺然 提交于 2020-03-26 11:05:41
3 月,跳不动了?>>> 一、安装fastDFS需要分别安装fastdfs-nginx-module,fastdfs,nginx,libfastcommon 百度云地址: https://pan.baidu.com/s/1FuiwcQsZALbjZhXLIMkBIQ 提取码:kmhb 1,安装gcc(编译时需要) yum install -y gcc gcc-c++ 2,安装libevent(运行时需要) yum -y install libevent 3,安装创建目录上传所有文件 mkdir -p /fileservice/fast cd /fileservice/fast 4,安装libfastcommon 进入fast目录:cd /fileservice/fast 解压文件: tar -zxvf libfastcommon-1.0.35.tar.gz 进入libfast文件目录:cd libfastcommon-1.0.35 执行编译:./make.sh 安装:./make.sh install 5、安装fastdfs yum install perl yum install pcre yum install pcre-devel yum install zlib yum install zlib-devel yum install openssl yum install

使用docker搭建FastDFS文件系统

99封情书 提交于 2020-03-23 08:28:32
使用docker搭建FastDFS文件系统 https://www.cnblogs.com/yanwanglol/p/9860202.html 趁着周末 给 22.240 机器上面拉镜像. 1.首先下载FastDFS文件系统的docker镜像 docker search fastdfs 2.使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用): docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker 3.使用docker镜像构建storage容器(存储服务器,提供容量和备份服务): docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage 上面需要填写你的tracker服务的ip地址,端口默认是22122。 4.此时两个服务都以启动,进行服务的配置。 进入storage容器,到storage的配置文件中配置http访问的端口,配置文件在/etc/fdfs目录下的storage.conf。

springboot项目中使用fastdfs文件数据库开发应用

﹥>﹥吖頭↗ 提交于 2020-03-20 23:14:01
3 月,跳不动了?>>> 安装并启动fastdfs,方法如: https://gitee.com/lion123/springboot-fdfs-demo 创建springboot项目,并导入fastdfs jar 包 <dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1.26.6</version> </dependency> 添加fastdfs配置类 @Import(FdfsClientConfig.class) @EnableMBeanExport(registration = RegistrationPolicy.IGNORE_EXISTING) public class FdfsConfig { } 添加fastdfs工具类 @Slf4j @Component public class FastDFSClient { @Autowired private FastFileStorageClient storageClient; @Autowired private FdfsWebServer fdfsWebServer; /** * 上传文件 * * @param file 文件对象 * @return 文件访问地址 *

合并两套环境的FastDFS数据

别等时光非礼了梦想. 提交于 2020-03-10 07:30:35
背景 由于历史原因文件数据被存到两套FastDFS环境中,由于项目需求需要将两套环境合为一个,需要提供统一的接口来访问数据,这时就要将两套环境的数据合并到一起了。检查发现两套FastDFS上传生成的Key不同,顾这里不用考虑文件冲突的问题。 简单验证了下,将环境B的storage直接拷贝到环境A,并通过环境A的域名进行访问,是可以做到数据合并(FastDFS通过Nginx访问数据,故只要Nginx指向的路径上存在文件,访问是没问题的)。但是这带来一个问题,后期FastDFS扩容增加节点时,这些拷贝过来的文件由于不被环境A的tracerServer所识别,所以这部分数据在扩容后可能会出现异常。 环境信息 环境A地址 192.168.1.49 文件key为wKgBMV..... 环境B地址 172.18.73.129 文件key为rBJJgV... 环境A新增服务器地址 192.168.1.50(用于迁移环境B的数据) 环境A的扩展服务器地址 192.168.1.51(用于合并后验证集群扩展) 实现原理 FastDFS4.0后新增storage_id功能,可以为每个storage的节点指定id别名。当storage迁移时,若迁移后的IP与原服务IP不一致时,只需修改ID的指向即可完成迁移。此次由于两套环境都未开启storage_id,故只需在两套环境分别开启,并为其分配不同的id

FastDFS安装

孤人 提交于 2020-03-09 06:49:54
1.1 安装fastdfs依赖包 解压缩libfastcommon-master.zip 进入到libfastcommon-master的目录中 执行 ./make.sh 执行 sudo ./make.sh install 1.2 安装fastdfs 解压缩fastdfs-master.zip 进入到 fastdfs-master目录中 执行 ./make.sh 执行 sudo ./make.sh install 1.3 配置跟踪服务器tracker sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf 在/home/python/目录中创建目录 fastdfs/tracker mkdir –p /home/python/fastdfs/tracker 编辑/etc/fdfs/tracker.conf配置文件 sudo vim /etc/fdfs/tracker.conf 修改 base_path=/home/python/fastdfs/tracker 1.4 配置存储服务器storage sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf 在/home/python/fastdfs/ 目录中创建目录 storage mkdir –p

FastDFS

感情迁移 提交于 2020-03-08 09:42:26
1.Linux下使用FastDFS 1.1.1.安装gcc GCC用来对C语言代码进行编译运行,使用yum命令安装: yum -y install gcc 后面会用到解压命令(unzip),所以这里可以用yum把unzip 也装一下 yum install -y unzip zip 1.1.2.安装libevent yum -y install libevent 1.1.3.安装libfastcommon-master 解压刚刚上传的libfastcommon-master.zip unzip libfastcommon-master.zip 进入解压完成的目录 cd libfastcommon-master 编译并且安装: ./make.sh ./make.sh install 1.1.4.安装fastdfs tar -zxvf FastDFS_v5.08.tar.gz cd FastDFS ./make.sh ./make.sh install 如果安装成功,会看到/etc/init.d/下看到提供的脚本文件: ll /etc/init.d/ | grep fdfs fdfs_trackerd 是tracker启动脚本 fdfs_storaged 是storage启动脚本 能够在 /etc/fdfs/ 目录下看到默认的配置文件模板: ll /etc/fdfs/ tarcker