A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 花的鱼 中级黑马   /  2018-7-2 11:15  /  847 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

声明:对于分布式的一些技术点在网上都可以查到,这边对于一些基本的操作做了些相关的总结,并作为分布式框架技术的支持文档,希望可以帮助到大家

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

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

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



储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,

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

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

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

一、开始安装:

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

二、操作使用:在FastDFS安装目录bin下有以下可执行文件。


FastDFS安装、配置、部署
上传文件:/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

三、测试上传:

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

FastDFS安装、配置、部署
在app/fdfs407/data/data/00/3C目录下可以找到刚刚上传的图片:


四、FastDFS上传/下载过程:

首 先客户端 client 发起对 FastDFS 的文件传输动作,是通过连接到某一台 Tracker Server

的指定端口来实现的,Tracker Server 根据目前已掌握的信息,来决定选择哪一台 Storage Server

,然后将这个Storage Server 的地址等信息返回给 client,然后 client 再通过这些信息连接到这台 Storage

Server,将要上传的文件传送到给 Storage Server上。

FastDFS安装、配置、部署
上传过程:

FastDFS安装、配置、部署
下载过程:

FastDFS安装、配置、部署
在我的项目中,一般启动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
愿意了解框架技术或者源码的朋友直接秋秋:贰陆柒零柒壹陆壹捌贰                                                       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马