fastdfs

分布式文件存储:FastDFS简单使用与原理分析

筅森魡賤 提交于 2019-12-12 21:35:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 引言 FastDFS 属于分布式存储范畴,分布式文件系统 FastDFS 非常适合中小型项目,在我接手维护公司图片服务的时候开始接触到它,本篇文章目的是总结一下 FastDFS 的知识点。 用了 2 台 2 核 4G 的阿里云服务器做集群部署,具体部署步骤请参考: https://github.com/happyfish100/fastdfs/wiki 1、FastDFS 分布式文件系统概述 FastDFS 是一个轻量级的开源分布式文件系统,作者为淘宝资深架构余庆。 FastDFS 主要解决了分布式文件存储与高并发访问的问题,实现了负载均衡,适合存储图片、视频、文档等文件,而且支持存储服务器的在线扩容。 2、FastDFS 架构 FastDFS 服务端有两个角色:Tracker 与 Storage,其中 Tracker 主要做调度工作,有着负载均衡作用,Storage 负责文件存取、同步等操作。 FastDFS 系统结构: 2.1、Client 客户端访问 FastDFS 分布式存储,一般为后端应用。 2.2、Tracker Tracker 在 FastDFS 集群中有两大作用: 管理 Storage 集群,在 Storage 服务启动时,会把自己注册到 Tracker 上,并定期上报自身状态信息

FastDFS简介

蹲街弑〆低调 提交于 2019-12-12 12:49:43
1提出问题 在目前的互联网应用中,服务器上会存储大量的用户上传的文件。例如:电商网站会存储大量商品图片,用户评论图片。这类文件会随着用户数量的增加、商品数量的增加以及评论数据的增加而持续增长。那么这些海量的持续增加的文件该如何保存呢? ①最初级的方式 在Web应用根目录下创建一个专门存储图片的目录。这样做会有三个问题 [1]如果文件体积不断增长,那么很可能把硬盘撑爆。 [2]Web应用重新部署后会导致用户文件目录被清空。 [3]集群模式下,必须保证多个应用服务器之间数据同步。 ②增加硬盘 一块硬盘不够,可以在服务器上再增加硬盘,但毕竟服务器上能够挂载的硬盘数量是有限的。 ③增加服务器 服务器的数量理论上是没有限制的,但是每一台服务器都有自己的IP地址,会导致文件上传后,下载文件的代码中需要考虑不同文件用不同IP地址去访问,非常麻烦。 所以我们需要这样一种服务器: ①上传下载的IP地址固定不变 ②扩容简单,且扩容不会导致访问地址变化,也就是说相关的Java代码不需要根据扩容情况修改 ③稳定高效,无单点故障 2FastDFS 2.1简介 FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等系统。 FastDFS是为互联网应用量身定做的分布式文件系统,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用

Linux迁移Fastdfs数据

依然范特西╮ 提交于 2019-12-10 04:19:52
1.新机器安装fastdfs这里不做描述可以参考这位老哥的文档 FastDFS+Nginx(单点部署)事例 https://www.cnblogs.com/cnmenglang/p/6251696.html 2.备份新storaged服务器的data配置文件 .data_init_flag fdfs_storaged.pid storage_stat.dat sync 3.进入旧storaged下打包data目录 cd /home/zsoft/fastdfs/storage tar zcvf storage_data.tar.gz data 4.复制storage_data.tar.gz文件新storaged scp storage_data.tar.gz zsoft@172.31.41.3:/home/zsoft/fastdfs/storage/ 5.备份新storage的data目录,解压storage_data.tar.gz到当前目录下 cd /home/zsoft/fastdfs/storage/ mv data data.2019.12.9 tar zxf storage_data.tar.gz 6.复制新storage的配置文件到data目录下面 cp -rf .data_init_flag fdfs_storaged.pid storage_stat.dat .

Docker安装FastDFS

蓝咒 提交于 2019-12-08 23:29:39
Docker安装FastDFS(分布式文件系统)并演示图片存储与下载 首先自己已经安装好docker并配置好镜像加速器 1.获取FastDFS Docker镜像来运行FastDFS docker image pull delron/fastdfs 也可以直接使用打包的镜像备份文件 docker load -i 文件路径/fastdfs_docker.tar 加载好镜像后,就可以开启运行FastDFS的tracker和storage了。 2.创建并运行tracker和storage容器 执行以下命令创建 tracker 容器并启动服务 docker run -dti --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker 表示我们将fastDFS tracker容器运行目录映射到docker创建的Linux虚拟机的 /var/fdfs/tracker目录中 执行以下命令创建 storage 容器并启动服务 docker run -dti --network=host --name storage -e TRACKER_SERVER= dcokerIP :22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage

docker系列-10.docker安装fastdfs

删除回忆录丶 提交于 2019-12-08 23:26:17
1.搜索fastdfs镜像 docker search fastdfs [root@localhost home]# docker search fastdfs NAME DESCRIPTION STARS OFFICIAL AUTOMATED season/fastdfs FastDFS 11 luhuiguo/fastdfs FastDFS is an open source high performance... 6 [OK] hhland /fastdfs 5 [OK] lionheart /fastdfs-tracker just have a try on autobuilded -_-# 3 [OK] imlzw /fastdfs-tracker fastdfs的tracker服务 2 [OK] evan1120 /fastdfs_storage The fastdfs storage image 1 [OK] imlzw /fastdfs-storage fastdfs的storage服务 1 [OK] lionheart /fastdfs_storage the fastdfs file system's storage node 1 lionheart /fastdfs_client test weather the fastdfs file system is

win10下docker搭建fastDFS

…衆ロ難τιáo~ 提交于 2019-12-08 23:24:48
win10下docker搭建fastDFS 最近因公司需求,搭建自己的文件服务器,不再使用oss。于是在本地开发环境win10下先整个demo出来。 docker下安装fastDFS win10下 docker的教程自己百度吧。 查找镜像 使用$ docker search fastdfs 拉取镜像 $ docker image pull delron/fastdfs 运行tracker $ docker run -itd --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker 命令中-v /var/fdfs/tracker:/var/fdfs的意思是将fastDFS tracker运行目录映射到本机的 /var/fdfs/tracker目录中。使用$ docker ps 查看tracker 是否运行起来。 运行storage $ docker run -itd --network=host --name storage -e TRACKER_SERVER=192.168.99.100:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storage 这里的192.168.99.100是我docker运行是被分配的ip

记一次CentOS7下搭建FastDFS和nginx环境

无人久伴 提交于 2019-12-08 13:48:36
1、首先是准备编译需要的库 我用163网易的yum源。 yum -y install libevent yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget 准备好需要的文件。 2、开始安装 2.1 安装 libfastcommon [root@master libfastcommon-1.0.7]# ls HISTORY INSTALL libfastcommon.spec make.sh README src [root@master libfastcommon-1.0.7]# 进行编译 ./make.sh 安装 ./make.sh install libfastcommon 安装好后会自动将库文件拷贝至 /usr/lib64 下,由于 FastDFS 程序引用 usr/lib 目录,自己做软连接。 ln -s /usr/lib64/libfastcommon.so /usr/lib/ 2.2 安装 FastDFS_v5.05 2.2.1 先做 tracker [root@master lib]# cd /mnt/FastDFS/ [root@master FastDFS]

fastdfs 使用原文件名下载

孤人 提交于 2019-12-08 09:49:17
fastdfs 使用原文件名下载 安装部署fastdfs 需求 openresty代替nginx 安装和配置openresty 安装部署fastdfs 可参考我的上一篇文章 fastdfs 单机多groupName部署和springboot区分环境上传 需求 由于fastdfs上传之后文件名使用的是框架编码的文件名所以下载的时候文件名不是原始的名称了。图片显示还好说,文档附件这种的无法忍。于是就有了这篇文章。 openresty代替nginx 通过在上传的时候将源文件名存表,在下载的时候可以在给nginx的请求中加?attname=来指定文件名。但是如果文件名是中文的,那么下载下来的文件都是url编码的(会有%)。所以需要使用openresty来代替nginx,这样就可以用Lua来转码了。 安装和配置openresty 下载组件 openresty-1.13.6.1、openssl-1.0.2q、pcre-8.42、zlib-1.2.11。这里有个坑,openresty的最新版不支持最新版的openssl。如果版本不对则会在gmake的时候报错。 解压后进入openresty目录开始安装 ./configure --prefix = /opt/openresty --with-luajit --with-http_stub_status_module --with-http_ssl

【分布式存储项目】(2)动态库链接问题以及服务器配置

岁酱吖の 提交于 2019-12-07 12:18:08
1.动态库问题以及解决方案 1.1问题发现 在Linux环境下编写C程序时,经常需要使用动态库,这里给出常见动态库问题的解决方案。 开源项目使用redis中的examples.c程序 直接使用指令对example.c进行编译 gcc example .c 出现以下错误 提示缺少头文件hiredis.h,使用查找指令 find /usr/ local / include -name "hiredis.h" 导入头文件继续进行编译 gcc examples . c -I /usr/ local /include/hiredis -o example 出现动态库未找到错误 找到动态库文件的目录 1.2 解决动态库问题的三种方案 1. 使用环境变量LD_LIBRARY_PATH 将动态库的绝对路径添加到该环境变量中 LD_LIBRARY_PATH = /usr/include/xxx: $LD_LIBRARY_PATH export LD_LIBRARY_PATH 写入到配置文件当中 ~/ .bashrc -用户级别 /etc/profile -系统级别 2. 给动态库设置软连接 /usr/USERNAME/fastdfs 将软连接放到 /usr/lib /usr/lib64 /lib /lib4 sudo ln -s /usr/USERNAME/fastdfs/XXX.so /usr

一张图讲解最少机器搭建FastDFS高可用分布式集群安装说明

余生颓废 提交于 2019-12-06 20:21:25
 很幸运参与零售云快消平台的公有云搭建及孵化项目。零售云快消平台源于零售云家电3C平台私有项目,是与公司业务强耦合的。为了适用于全场景全品类平台,集团要求项目平台化,我们抢先并承担了此任务。并由我来主要负责平台建设及项目落地。  今天讲解在零售云快消平台中使用的图片服务FastDFS集群搭建说明,此集群模式是根据单机版的安装说明,在之前已经分享过一篇 一张图讲解单机FastDFS图片服务器安装步骤(修订版) ,改造成最少机器分布式集群安装说明。 FastDFS是什么?  FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。  FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。 --- 来源于百度百科 FastDFS 简介 FastDFS分两部分,跟踪器(tracker)和存储节点(storage)。  Tracker是FastDFS的协调者,负责管理所有的storage server和group,每个storage在启动后会连接Tracker,告知自己所属的group等信息