FastDFS安装、配置、部署

摘要: FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS很是适用于基于文件服务的站点,例如图片分享和视频分享网站linux

声明:对于分布式的一些技术点在网上均可以查到,这边对于一些基本的操做作了些相关的总结,并做为分布式框架技术的支持文档,但愿能够帮助到你们服务器

FastDFS是一个开源的,高性能的的分布式文件系统,他主要的功能包括:文件存储,同步和访问,设计基于高可用和负载均衡,FastDFS很是适用于基于文件服务的站点,例如图片分享和视频分享网站架构

FastDFS有两个角色:跟踪服务(tracker)和存储服务(storage),跟踪服务控制,调度文件以负载均衡的方式访问;存储服务包括:文件存储,文件同步,提供文件访问接口,同时以key value的方式管理文件的元数据app

跟踪和存储服务能够由1台或者多台服务器组成,同时能够动态的添加,删除跟踪和存储服务而不会对在线的服务产生影响,在集群中,tracker服务是对等的负载均衡

框架

储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,全部卷的文件容量累加就是整个存储系统中的文件容量。一个卷能够由一台或多台存储服务器组成,分布式

一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的做用。在卷中增长服务器时,同步已有的文件由系统自动完成,同性能

步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,能够动态添加卷。只须要增长一台或多台服务器,并将它们配置为一个新的学习

卷,这样就扩大了存储系统的容量。测试

1、开始安装:

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. 到此安装配置完毕

2、操做使用:在FastDFS安装目录bin下有如下可执行文件。

 

上传文件:/usr/local/bin/fdfs_upload_file  

下载文件:/usr/local/bin/fdfs_download_file [local_filename]

删除文件:/usr/local/bin/fdfs_delete_file

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

3、测试上传:

./fdfs_test ../conf/client.conf upload QQ.png,能够看到文件上传成功。

在app/fdfs407/data/data/00/3C目录下能够找到刚刚上传的图片:

4、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

声明:全部博客服务于分布式框架,做为框架的技术支持及说明,框架面向企业,是大型互联网分布式企业架构,后期会介绍linux上部署高可用集群项目。

 

完整的项目源码来源  欢迎你们一块儿学习研究相关技术,源码获取请加求求:2670716182