FastDFS分布式文件系统配置与部署

?

?

?

FastDFS分布式文件系统配置与部署

白宁超

2017年4月14日

?

?

注:1.1-1.4节是对FastDFS基本配置,如果读者只是安装分布式文件系统,简单关注其原理建议阅读1.2节与1.5节。如果读者仅仅就是安装为目的建议直接阅读1.5节。

本人邮箱:[email protected]

主页网址:http://www.cnblogs.com/baiboy/

?

目录

?

1.1 分布式文件系统介绍????1

1.2 系统架构介绍????1

1.3 FastDFS性能方案????7

1.4 Linux基本命令操作????8

1.5????安装VirtualBox虚拟机并配置Ubuntu????9

1.6 Ubuntu环境下安装并配置FastDFS????9

1.6.1 基本操作与配置????9

1.6.2 安装libfastcommon与FastDFS????10

1.6.3 配置Tracker、Storage、Clent、HTTP服务????11

1.6.4 设置环境变量和软链接????14

1.6.5 查看tracker和storage服务运行情况????15

1.6.6 测试上传文件功能????16

1.6.7 安装Nginx 和 fastdfs-nginx-module,pcre,zlib????17

1.6.8 配置fastdfs-nginx-module 和 Nginx????20

1.6.9 关闭防火墙????22

1.6.10 上传测试????22

1.7 开机启动服务????24

1.8 参考文献????25

?

?

1.1 分布式文件系统介绍

分布式文件系统:Distributed file system, DFS,又叫做网络文件系统:Network File System。一种允许文件通过网络在多台主机上分享的文件系统,可让多机器上的多用户分享文件和存储空间。

特点:在一个分享的磁盘文件系统中,所有节点对数据存储区块都有相同的访问权,在这样的系统中,访问权限就必须由客户端程序来控制。分布式文件系统可能包含的功能有:透通的数据复制与容错。

分布式文件系统是被设计用在局域网。而分布式数据存储,则是泛指应用分布式运算技术的文件和数据库等提供数据存储服务的系统。决定因素:数据的存储方式、数据的读取速率、数据的安全机制。发展历史:大致分为三个发展阶段,网络文件系统(1980s)、共享SAN文件系统(1990s)、面向对象的并行文件系统(2000s)

FastDFS是一个开源的轻量级分布式文件系统,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合中小文件(建议范围:4KB < file_size <500MB),对以文件为载体的在线服务,如相册网站、视频网站等。

1.2 系统架构介绍

FastDFS由跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)构成。

跟踪服务器Tracker Server

主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。tracker根据storage的心跳信息,建立group==>[storage serverlist]的映射表。

Tracker需要管理的元信息很少,会全部存储在内存中;另外tracker上的元信息都是由storage汇报的信息生成的,本身不需要持久化任何数据,这样使得tracker非常容易扩展,直接增加tracker机器即可扩展为tracker cluster来服务,cluster里每个tracker之间是完全对等的,所有的tracker都接受stroage的心跳信息,生成元数据信息来提供读写服务。

存储服务器Storage Server

主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。以group为单位组织存储能方便的进行应用隔离、负载均衡、副本数定制(group内storage server数量即为该group的副本数),比如将不同应用数据存到不同的group就能隔离应用数据,同时还可根据应用的访问特性来将应用分配到不同的group来做负载均衡;缺点是group的容量受单机存储容量的限制,同时当group内有机器坏掉时,数据恢复只能依赖group内地其他机器,使得恢复时间会很长。

group内每个storage的存储依赖于本地文件系统,storage可配置多个数据存储目录,比如有10块磁盘,分别挂载在/data/disk1-/data/disk10,则可将这10个目录都配置为storage的数据存储目录。storage接受到写文件请求时,会根据配置好的规则选择其中一个存储目录来存储文件。为了避免单个目录下的文件数太多,在storage第一次启动时,会在每个数据存储目录里创建2级子目录,每级256个,总共65536个文件,新写的文件会以hash的方式被路由到其中某个子目录下,然后将文件数据作为本地文件存储到该目录中。

客户端Client

主要是上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。每个客户端服务器都需要安装Nginx

基本架构如下图所示。

?

FastDFS的存储策略

为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。

在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。

FastDFS的上传过程

FastDFS向使用者提供基本文件访问接口,比如upload、download、append、delete等,以客户端库的方式提供给用户使用。

我们知道Storage Server会定期的向Tracker Server发送自己的存储信息。当Tracker Server Cluster中的Tracker Server不止一个时,各个Tracker之间的关系是对等的,所以客户端上传时可以选择任意一个Tracker。

当Tracker收到客户端上传文件的请求时,会为该文件分配一个可以存储文件的group,当选定了group后就要决定给客户端分配group中的哪一个storage server。当分配好storage server后,客户端向storage发送写文件请求,storage将会为文件分配一个数据存储目录。然后为文件分配一个fileid,最后根据以上的信息生成文件名存储文件。文件名的格式如下:

FastDFS的文件同步

写文件时,客户端将文件写至group内一个storage server即认为写文件成功,storage server写完文件后,会由后台线程将文件同步至同group内其他的storage server。

每个storage写文件后,同时会写一份binlog,binlog里不包含文件数据,只包含文件名等元信息,这份binlog用于后台同步,storage会记录向group内其他storage同步的进度,以便重启后能接上次的进度继续同步;进度以时间戳的方式进行记录,所以最好能保证集群内所有server的时钟保持同步。

storage的同步进度会作为元数据的一部分汇报到tracker上,tracke在选择读storage的时候会以同步进度作为参考。

FastDFS的文件下载

客户端uploadfile成功后,会拿到一个storage生成的文件名,接下来客户端根据这个文件名即可访问到该文件。

跟upload file一样,在downloadfile时客户端可以选择任意tracker server。tracker发送download请求给某个tracker,必须带上文件名信息,tracke从文件名中解析出文件的group、大小、创建时间等信息,然后为该请求选择一个storage用来服务读请求。

?

1.3 FastDFS性能方案


方案 考虑的角度


FastDFS?


部署


部署复杂程度


简单


服务器配置要求


一般配置


文件系统接口


非POSIX(可移植性操作系统)


支持FUSE


不支持(用户空间文件系统)


是否需要配套的客户端程序


需要


是否支持目录结构


不支持


可拓展性


可拓展


性能


小文件支持



大文件支持


一般


数据安全


单点依赖



冗余保护


分组(组内冗余)


故障恢复


支持单点故障恢复


应用


产品级别


大中型


是否成熟


比较成熟


实际应用


支付宝、京东商城、飞信、迅雷、赶集网


维护


是否开源



license?


GPL v3?


社区活跃程度


活跃


文档语言


英文


文档完善程度


完整


开发语言


C ?


其他


移行成本


较高


存储机制


基于文件进行存储,同组的互备关系


元数据存储方式


由存储节点自动生成返回给客户端文件ID,ID中包含组名、文件路径和文件名


版本号


v4.06?


其他特点


1 不会对文件进行分块处理。
2 文件同步直接通过点对点,同组内存储节点进行通信同步,不同组内不进行通信;
3 目前提供了C,java,PHP API;
4 通过http方式下载; 5 FastDFS目前还需要应用端自己实现文件列表、目录管理相关的事情。

1.4 Linux基本命令操作


系统的基本操作


Ctrl+Alt+shift+Fn 切换终端


ls –l 查看


su - username 切换登录


Reboot 重启


pwd 当前路径


shutdown -r now 关机


whereis filename 文件路径


rm –rf 删除


touch 文件名 创建文件


cp path1 path2 复制文件


mkdir 创建目录


mv 移动改名


Vi环境


vi filename 打开文件


i 插入


Esc 退出


dd 删除行


x Esc下删除


wq 保存


a 插入光标后面


o 插入下一行


hjkl 左下上右


Ctrl+b 向后翻页


Ctrl+f 向前翻页


/ Esc下查找


r 替换光标处文字


u 撤销


压缩与解压


gzip 压缩gz文件


unzip 解压zip


tar -czvf file1 file2 压缩


tar -zxvf file 解压.tar.gz

linux系统修改编码:

#vi /etc/sysconfig/i18n 将原内容

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

修改为

LANG="zh_CN.GB18030"

LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"

SYSFONT="lat0-sun16"

Ubuntu初始化root密码:

sudo passwd

Ubuntu配置VmwareTools工具:先下载然后找到文件拷贝桌面并解压,随后找到文件一路安装。

?

  1. 安装VirtualBox虚拟机并配置Ubuntu
  1. VirtualBox虚拟机安装参照:

http://jingyan.baidu.com/article/73c3ce280755f8e50243d945.html

  1. VirtualBox下安装ubuntu参照:

http://jingyan.baidu.com/article/2009576197fd24cb0721b409.html

1.6 Ubuntu环境下安装并配置FastDFS


虚拟机


Oracle VM VirtualBox


操作系统


Ubuntu16.04


Fastdfs必备软件(本文软件下载均采用wget方式)


fastdfs-5.05 、 fastdfs-nginx-module-v1.16 、 libfastcommon-v1.0.7


Nginx


nginx-1.10.1?


Fastdfs主页


https://github.com/happyfish100/fastdfs


联网模式


NAT自动转换模式


IP地址


自动生成,ifconfig查看,本文是10.0.2.15

1.6.1 基本操作与配置

切换到root角色操作:sudo passwd #修改root权限密码

创建必要文件夹

mkdir /software #下载tar.zp软件包并安装

mkdir /software/testfile #上载文件测试文件夹

mkdir /data #fastdfs根文件

mkdir /data/fastdfs/track #tracker文件配置路径

mkdir /data/fastdfs/storage #storage配置路径

mkdir /data/fastdfs/cli????ntlog #client配置路径

1.6.2 安装libfastcommon与FastDFS

(1) 下载安装libfastcommon

cd /software

wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz

解压 libfastcommon:

tar -zxvf V1.0.7.tar.gz

进入libfastcommon-1.0.7里面,进行编译和安装:

cd libfastcommon-1.0.7

./make.sh

./make.sh install

?

(2) 下载安装 FastDFS,这里也是通过wget下载。

cd /software

wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

tar -zxvf V5.05.tar.gz

cd fastdfs-5.05

./make.sh

./make.sh install

1.6.3 配置Tracker、Storage、Clent、HTTP服务

(1) 配置Tracker服务

1.6.2操作成功后,进入/etc/fdfs目录。会看到三个.sample后缀的文件,均是作者给我们的示例文件,我们需要将其中的tracker.conf.sample文件改为tracker.conf配置文件并修改它。

cd /etc/fdfs

ls

cp tracker.conf.sample tracker.conf # 配置跟踪文件

vi tracker.conf # 进入conf文件

进入conf文件后完成以下参数的修改:

# the base path to store data and log files

base_path=/data/fastdfs/track # 修改跟踪路径

# HTTP port on this tracker server

http.server_port=80 # 修改端口号

完成以上操作之后即配置好tracker服务,采用以下方式启动服务,查看监听:

export LD_LIBRARY_PATH=/usr/lib64/

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

netstat -unltp|grep fdfs #查看服务

(2) 配置Storage服务

本文采用单机器测试,你把 Storage 服务放在多台服务器也是可以的,它有?Group(组)的概念,同一组内服务器互备同步。

cd /etc/fdfs

cp storage.conf.sample storage.conf # 修改存储路径

vi storage.conf # 修改存储文件

进入conf文件后完成以下参数的修改:

group_name=group1 # 修改组名

# the base path to store data and log files

base_path=/data/fastdfs/storage # 修改存储路径

# store_path#, based 0, if store_path0 not exists, it‘s value is base_path

# the paths must be exist

store_path0=/data/fastdfs/storage #这里可以设置多个存储服务器

#store_path1=/home/yuqing/fastdfs2

# tracker_server can ocur more than once, and tracker_server format is

# "host:port", host can be hostname or ip address

tracker_server=10.0.2.15:22122 # 改为本地ip,查看本地ip:ifconfig

http.server_port=8888 # 设置端口号,如果没有冲突尽量默认

完成以上操作之后即配置好storage服务,采用以下方式启动服务,查看监听:

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

netstat -unltp|grep fdfs #查看服务

ls

(3) 配置Clint服务

cd /etc/fdfs

cp clint.conf.sample clint.conf #修改客户端路径文件

vi clint.conf

进入conf文件后完成以下参数的修改:

base_path=/data/fastdfs/clintlog #设置客户端存储路径

tracker_server=10.0.2.15:22122 #改为本地ip

http.tracker_server_port=80

#include http.conf 注意,#include http.conf 这句,原配置文件中有2个#,删掉一个。

(4) 配置HTTP服务

cp /software/fastdfs-5.05/conf/http.conf /etc/fdfs/http.conf # 配置http服务文件

cd /etc/fdfs

vi http.conf

进入conf文件后完成以下参数的修改:

http.anti_steal.token_check_fail=/data/fastdfs/httppic/anti-steal.jpg

1.6.4 设置环境变量和软链接

在32位ubuntu中,libfastcommon会安装在/usr/lib 中,64位系统则安装在 /usr/lib64 中。依次执行以下命令:(根据自己的操作系统选择路径)

export LD_LIBRARY_PATH=/usr/lib64/

或者手动修改

vi /etc/ld.so.conf下配置/usr/lib64

ldconfig

软链接:

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

1.6.5 查看tracker和storage服务运行情况

netstat -unltp|grep fdfs #查看服务

如果没有正常运行,启动服务命令如下:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

测试Tracker 和 Storage 服务通信

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

1.6.6 测试上传文件功能

cd /software/testfile

ls

touch test.txt

vi test.txt

fdfs_test /etc/fdfs/client.conf upload /software/testfile/test.txt

见到上述结果证明测试成功。复制url地址到web浏览器中查看:

现在只是支持上传,还不支持下载功能。下文是配置文件下载,

1.6.7 安装Nginx 和 fastdfs-nginx-module,pcre,zlib

上文并配置启动了 Tracker 和 Storage 服务,已经可以上传文件了。下文需要配合 Nginx 来进行文件的上传下载。

cd /software

wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

wget https://github.com/happyfish100/fastdfs-nginx-module/archive/master.zip

查看文件

  1. 在安装Nginx之前,需要安装如下(gcc/pcre/zlib/openssl)插件

查看zlib是否安装

dpkg -l | grep zlib

下面是在ubuntu环境下的插件安装,使用centos时采用不同的方式安装:

Ubuntu插件安装

openssl安装:sudo apt-get install openssl libssl-dev

pcre安装: ????sudo apt-get install libpcre3 libpcre3-dev

???? sudo apt-get install openssl libssl-dev

zlib安装:????sudo apt-get install zlib1g-dev

gcc安装:????sudo apt-get install build-essential

CentOS插件安装

gcc安装:yum install gcc-c++

pcre安装:yum install -y pcre pcre-devel

zlib安装:yum install -y zlib zlib-devel

OpenSSL安装:yum install -y openssl openssl-devel

  1. 接下来可以安装Nginx

cd /software

# wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

tar -zxvf nginx-1.10.1.tar.gz

cd nginx-1.10.1

配置 nginx 安装,加入fastdfs-nginx-module模块。

./configure --add-module=/software/ fastdfs-nginx-module-master/src/

编译安装

Make

make install

查找安装路径

whereis nginx

启动、停止nginx

cd /usr/local/nginx/sbin/

./nginx #启动

./nginx -s stop #此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程

./nginx -s quit #:此方式停止步骤是待nginx进程处理任务完毕进行停止。

./nginx -s reload

  1. 查询nginx进程:

ps aux|grep nginx

  1. 设置开机自启动即在rc.local增加启动代码、。(可略过此步)

vi /etc/rc.local

增加一行

/usr/local/nginx/sbin/nginx

设置执行权限:

chmod 755 rc.local

1.6.8 配置fastdfs-nginx-module 和 Nginx

(1) 配置mod-fastdfs.conf,并拷贝到/etc/fdfs文件目录下

cd /software/fastdfs-nginx-module-master/src/

vi mod_fastdfs.conf

对conf文件作以下修改

# valid only when load_fdfs_parameters_from_tracker is true

tracker_server=10.0.2.15:22122

# default value is false

url_have_group_name = true

# must same as storage.conf

store_path0=/data/fastdfs/storage

#store_path1=/home/yuqing/fastdfs1

cp mod_fastdfs.conf /etc/fdfs

(2) 把fastdfs-5.05下面的配置中还没有存在/etc/fdfs中的拷贝进去

????cd /software/fastdfs-5.05/conf

????cp anti-steal.jpg http.conf mime.types /etc/fdfs/

(3) 配置Nginx,编辑nginx.config

????cd /usr/local/nginx/conf

????vi nginx.conf

在配置文件中加入:

location /group1/M00 {

root /data/fastdfs/storage/;

ngx_fastdfs_module;

}

  1. 由于我们配置了group1/M00的访问,我们需要建立一个group1文件夹,并建立M00到data的软链接。

mkdir /data/fastdfs/storage/data/group1

ln -s /data/fastdfs/storage/data /data/fastdfs/storage/data/group1/M00

  1. 启动 Nginx ,会打印出fastdfs模块的pid,正常不会报错的

/usr/local/nginx/sbin/nginx

  1. 在浏览器中输入IP10.0.2.15地址,可以看到如下画面,说明我们 Nginx 结合 fastdfs-nginx-module 模块安装并配置成功啦。可以跳过1.6.9



1.6.9 关闭防火墙(真实环境不要这么做,默认安装时防火墙是关闭的)

开放80端口访问权限。在iptables中加入重启就行,或者你直接关闭防火墙,????本地测试环境可以这么干,但到线上万万不能关闭防火墙的。

vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

重启防火墙,使设置生效:

service iptables restart

?

1.6.10 上传测试

因为执行文件全部在/usr/bin目录下,我们切换到这里,并新建一个test.txt文件,随便写一点什么,我写了This is a test file. by:mafly这句话在里边。然后测试上传:

/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/bin/test.txt

复制地址到浏览器查看

如上是完整的配置过程,如果需要建立集群,只需要扩展服务器并对tracker和storage服务进行配置即可。各个服务器结点都需要安装Nginx。

1.7 开机启动服务

(1) 启动开机检查Tracker、Storage服务是否开启:

netstat -unltp|grep fdfs #查看服务

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf

(2) 试Tracker 和 Storage 服务通信

/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

(3) 查看Nginx是否开启:

ps aux|grep nginx

/usr/local/nginx/sbin/nginx

(4) 测试上传下载

fdfs_test /etc/fdfs/client.conf upload /software/testfile/test.txt

????

1.8 参考文献

[1] FastDFS Github, https://github.com/happyfish100

[2] FastDFS 分布式文件存储, https://community.qingcloud.com/topic/321/%E5%88%86%E5%B8%83%E5%BC%8F%E6%96%87%E4%BB%B6%E5%AD%98%E5%82%A8fastdfs-%E4%B8%80-%E5%88%9D%E8%AF%86fastdfs

[3] FastDFS 简单了解,http://www.cnblogs.com/mafly/p/fastdfs.html

[4] FastDFS 在CentOS下配置安装部署,http://blog.mayongfa.cn/192.html

[5] FastDFS 配置Nginx模块及上传测试,http://blog.mayongfa.cn/193.html

[6] 分布式存储CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群,http://www.cnblogs.com/PurpleDream/p/4510279.html

[7] Hadoop 分布式文件系统:架构和设计,https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.html

[8] FastDFS安装使用实践,http://soartju.iteye.com/blog/803477

[9] FastDFS安装部署操作手册,http://blog.csdn.net/XingJames/article/details/52759876

[10] FastDFS安装和配置,http://www.ctolib.com/docs/sfile/Linux-Tutorial/FastDFS-Install-And-Settings.html

[11] Ubuntu下安装并配置FastDFS,http://www.linuxdiyf.com/linux/27518.html

[12] 多机安装部署,http://blog.csdn.net/ricciozhang/article/details/49402273

?

时间: 2024-12-25 12:08:33

FastDFS分布式文件系统配置与部署的相关文章

FastDFS分布式文件存储

  存储能力是提供给上层业务系统以实现文件存取服务,这个存储能力为XDFS,即可扩展的分布式文件系统,实现的原理是封装了第三方的分布式存储系统实现的. 目前封装的第三方分布式系统包括FastDFS.Hadoop的HDFS,所提供的存储接口如下: 1  文件上传 2 文件断点上传 3 文件下载 4 文件断点下载 5  文件删除 6 获取文件大小 7  获取文件Http下载地址 8 批量获取文件Http下载地址 FastDFS适合的场景是互联网大中型企业的高并发文件存储服务,比如存储图片.音频.视频

FastDFS 分布式文件存储

FastDFS 分布式文件存储 什么是FastDFS? FastDFS是一个开源的轻量级的分布式文件系统.他解决了大量数据存储和负载均衡等问题.特别适合以中小文件(4KB < FileSize < 500MB)为载体的在线服务,如视频,音频,图片网站等等.FastDFS是一款开源的轻量级分布式文件系统,他是由纯 C 实现,支持Linux,FreeBSD等UNIX系统类,不是通用的文件系统,只能通过专有的API访问,目前提供了C.Java和PHP API为互联网应用量身定做,解决大容量文件存储问

FastDFS分布式文件系统设计原理

转载自http://blog.chinaunix.net/uid-20196318-id-4058561.html FastDFS是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server).存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务. Storage server Storage server(后简称storage)以

1Nginx+fastdfs分布式文件存储

 准备,将所需的软件传到服务器上,服务器的列表如下: fastdfs-nginx-module_v1.15.tar.gz FastDFS_v4.06.tar.gz libevent-2.0.21-stable.tar.gz nginx-1.5.6.tar.gz openssl-1.0.1c.tar.gz pcre-8.36.tar.gz zlib-1.2.7.tar.gz 首先切换到root用户,命令是: su root 删除系统自带的低版本的libevent , 注意:这里的tracker

linux 服务器---FastDFS分布式文件服务器配置

一.先上传所需要的文件 通过SecureCRT连接服务器,使用sftp功能上传,文件上传后位于 /~目录下. 二.先安装libvent工具包 yum -y install libevent 三.安装libfastcommonV1.0.7工具包. 切换到~目录 ,然后解压缩 tar zxf libfastcommonV1.0.7.tar.gz 进入libfastcommonV1.0.7目录中,安装 cd libfastcommonV1.0.7 ./make.sh ./make.sh install

fastdfs分布式文件系统文件上传、下载、删除交互过程讲解

在讲解fastdfs的上传.下载和删除流程之前,我们先介绍fastdfs中的工程流程:首先客户端client 调用fastdfs的api,获取可用的tracker server , 再调用tracker server 获取可用的组,tracker server 通过负载均衡返回一个最优的storage server,这样客户端与client就建立了连接,client就可 以调用storage server对文件进行上传.删除和追加的操作. 下面我们将结合时序图的方式给大家详细讲解fastdfs的

django中使用FastDFS分布式文件系统接口代码实现文件上传、下载、更新、删除

运维使用docker部署好之后FastDFS分布式文件系统之后,提供给我接口如下: fastdfs tracker 192.168.1.216 192.168.1.217 storage 192.168.1.216 192.168.1.217 我们只需要在配置文件中进行配置即可,然后利用客户端提供的接口通过简单的代码就可以将文件上传到分布式文件系统中 至于内部实现机制,可以参考我的另外一篇博客:分布式文件系统Fastdfs原理及部署 再次提醒在安装客户端可能会遇到各种不可控的因素,导致你上传失败

Go语言实现FastDFS分布式存储系统WebAPI网关

前言 工作需要,第一次使用 Go 来实战项目. 需求:采用 golang 实现一个 webapi 的中转网关,将一些资源文件通过 http 协议上传至 FastDFS 分布式文件存储系统. 一.FastDFS 与 golang 对接的代码 github:https://github.com/weilaihui/fdfs_client 源代码可以 clone 下来看看,go 语法很简单 基本使用:(client_test.go 中有 test 案例代码) package main import (

FastDFS 分布式文件系统 搭建部署

搭建部署FastDFS 分布式文件系统 什么是分布式文件系统 分布式文件系统 ( Distributed File System ) 是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连 分布是文件系统的设计基于客户机/服务器模式 一个典型的网络可能包括多个供多用户访问的服务器 对等特性允许一些系统扮演客户机和服务的双重角色 衡量分布式文件系统的优劣 数据的存储方式 数据的读取速率 数据安全机制 FastDFS介绍 FastDFS是一款开源分布式文件系统,它用纯