学习软件测试fastdfs简介_第1页
学习软件测试fastdfs简介_第2页
学习软件测试fastdfs简介_第3页
学习软件测试fastdfs简介_第4页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录一fastdfs222二Fastdfs 文件的上传和3三fastdfs 的配置5四Fastdfs 的相关问题10Fastdfsf 的功能Fastdfs 的原理.一fastdfsFastDFS 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件、文件同步、文件(文件上传、文件)等,解决了大容量和负载均衡。特别适合以文件为载体的服务,如相册、等等。Fastdfsf 的功能1)FastDFS 主要解决了大容量的文件和高并发,文件存取时实现了负载均衡。 ,支持2)FastDFS 实现了方式的 RAID,可以使用廉价的 IDE 硬盘进行服务器扩容。3)FastDFS 特别适合大中型使

2、用,用来资源文件(如:、文档、音频、等等。Fastdfs 的原理节点采用了分组(group)的方式 系统由一个或多个 group 组成,group 与 group之间的文件是相互独立的,所有 group 的文件容量累加就是整个系统中的文件容量。一个 group 可以由一台或多台服务器组成,一个 group 下的服务器中的文件都是相同的,group 中的多台服务器起到了冗余备份和负载均衡的作用(一个组的容量为该组内服务器容量最小的那个,不同组的 Storage server 之间不会相互通信,同组内的Storage server 之间会相互连接进行文件同步)。在 group 中增加服务器时,同步

3、已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当空间或即将耗尽时,可以动态添加 group。只需要增加一台或多台服务器,并将它们配置为一个新的 group,这样就扩大了系统的容量。FastDFS 只有两个角色:Tracker server 和 Storage server。Tracker server 作为中心结点,其主要作用是负载均衡和调度。Tracker server 在内存中分组和 Storageserver 的状态等信息,不文件索引信息,占用的内存量很少。另外,客户端(应用)和 Storage server Tracker server 时,Tracke

4、r server 扫描内存中的分组和 Storageserver 信息,然后给出应答。由此可以看出 Tracker server 非常轻量化,不会成为系统瓶颈。FastDFS 中的Storage server 在其他文件系统中通常称作Trunk server或Data server。Storage server 直接利用 OS 的文件系统文件。FastDFS 不会对文件进行分块,客户端上传的文件和 Storage server 上的文件一一对应(FastDFS 中的文件标识分为两个部分:组名和文件名,二者)。二Fastdfs 文件的上传和上传交互过程编辑cnt 询问 tracker 上传到的

5、storage,不需要附加参数;tracker 返回一台可用的 storage;3. cnt 直接和 storage 通讯完成文件上传。Tracker 是一种特殊类型的服务器 ,一个在之间的通信协助使用 BitTorrent 协议 。在对等网络文件的最终用户计算机上共享的客户端请求的文件,并驻留在对等体机器所需的文件的部分被发送到客户端,然后重新组所需的文件的完整副本。 在“”服务器,其中的文件副本驻留在等机,哪些是可在客户端请求的时间,并帮助协调的文件的高效传输和重组。(storage)服务器是指为特定目标而设计,因此配置方式也不同。它可能是拥有一点额外的,也可能拥有很大的空间的服务器。交互

6、过程编辑cnt 询问 tracker文件的 storage,参数为文件标识(卷名和文件名);tracker 返回一台可用的 storage;3. cnt 直接和 storage 通讯完成文件。三fastdfs 的配置FastDFS_V5.05 分布式安装与使用环境: Centosx86_640.205 和 0.206 都为 tracker和storage05storage tracker06storage tracker0.205 和 0.206 安装配置类似, 下面以一台为例1, 安装依赖包,添加 fastDFS 运行用户2,创建数据目录3,安装mon4, 安装 Fastdfswget0Co

7、de/FastDFS%20Server%20with%20%20Exten%20Source%20Code%20V5.05/FastDFS_v5.05.tar.gz/downloadtar zxstDFS_v5.05.tar.gz & cd FastDFS./make.sh./make.sh install版本:monwget/happymon/archive/master.zip unzip master.zipcdmon-master/./make.sh./make.sh installmkdir -p /export/fastdfs/storage,tracker rootlocalho

8、st src# ll /export/fastdfs total 0drwxr-xr-x 2 root root 6 Dec 10 15:18 storage#Storage 目录保存运行日志及其 data 数据drwxr-xr-x 2 root root 6 Dec 10 15:17 tracker#tracker 目录保存运行日志yum install -y zlib zlib-devel pcre pcre-devel gcc gcc-c+ openssl op enssl-devel libevent libevent-devel perzipuseradd -s /sbin/nolo

9、gin fastdfs5,配置 tracker和storage配置文件,对应修改6,安装 nginx 和 fastdginx-module 模块wget%20Code/fastdginx-module_v1.16.tar.gz/downloadtar zxstdginx-module_v1.16.tar.gz & tar zxf nginx-1.8.0.tar.gz #修改模块中对应的路径,要不然模块不能正确安装加载cd fastdginx-module/srcvi conf#更改如下, 去掉 local,并指定 lib64(64 系统) CORE_INCS=$CORE_INCS /usr/i

10、nclude/fastdfs /umon/ CORE_LIBS=$CORE_LIBS -L/usr/lib64mon -lfdfscntvi storage.conf group_name=group1 base_path=/export/fastdfs/storagestore_path0=/export/fastdfs/storage tracker_server=05:22122 tracker_server=06:22122 http.server_port=80vi tracker.conf base_path=/export/fastdfs/trackervi mod_fastdf

11、s.conf group_name=group1 base_path=/export/fastdfs/storage store_path0=/export/fastdfs/storage tracker_server=05:22122 tracker_server=06:22122url_have_group_name = true#是 true 不是 turevi cnt.conf tracker_server=05:22122 tracker_server=06:22122cp pa conf/*.conf /etc/fdfs/ cd /etc/fdfs/rm -rf *.slen -R

12、 fastdfs: /export/fastdfs7, 配置 nginxserver listen 80;server_name 05; root /w;index index.html index.htm; location / if (!-e $request_filename) rewrite (.*)$ /index.html last;location /group1/M00 root /export/fastdfs/storage/data/; ngx_fastdfs_module;location .*.(gif|jpg|jpeg|png|bmp|swf|js)$ #fastcg

13、i_cache cache_one;#nginx.conf 开启 cache 才行,要不然启动报错fastcgi_cache_valid 200 10m;fastcgi_cache_valid 304 3m;fastcgi_cache_valid 301 302 1h; fastcgi_cache_valid any 1m; fastcgi_cache_min_uses 1;fastcgi_cache_use_stale error timeout invalid_header http_500;fastcgi_cache_key $host$request_uri; acs_log off;

14、ulimit -SHn 102400useradd -s /sbin/nologin www cd nginx-1.8.0/configure -user=www -group=www -add-module=./fastdginx-module/src/-prefix=/usr/local/nginx -with-http_stub_sus_module -with-http_ssl_mo dule -with-http_realip_modulemakemake install8,206的配置一样,nginx 对应的 ip 为 206,启动 nginx 和 fastdfs9,测试roott

15、est-1 # fdfs_test /etc/fdfs/cnt.conf upload test.html This is FastDFS cnt test program v5.05Copyright (C) 2008, Happy Fish / YuQingFastDFS may be copied only under the terms of the GNU General Public License V3, whiay be foundhe FastDFS source kit.Please visit the FastDFS Home Page for more detail.r

16、oottest-1 vhost# /etc/init.d/fdfs_storaged start Starting FastDFS storage server:roottest-1 vhost# /etc/init.d/fdfs_trackerd start Starting FastDFS tracker server:roottest-1 vhost#roottest-1 vhost# /etc/init.d/nginx -t ngx_http_fastdfs_set=8985nginx: the configuration file /usr/local/nginx/conf/ngin

17、x.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.confsuc sfulroottest-1 vhost# /etc/init.d/nginx -s reload ngx_http_fastdfs_set=8986roottest-1 vhost# nets-npl |grep -E nginx|fdfstcp00 :221:*LISTEN8972/fdfs_track erdtcp00 :80:*LISTEN7561/nginxtcp00 :23000:*LIST

18、EN8679/fdfs_stora gedacs_log off;2015-06-14 02:46:06 DEBUG - base_path=/tmp, connect_timeout=30, network_timeout=60, tracker_server_count=1, ey length=0, use_connection_pool=0,use_storage_id=0, storage server idanti_steal_token=0, anti_steal_secret_k g_connection_pool_max_idle_time=3600s,count: 0tra

19、cker_query_storage_store_list_without_group:server 1. group_name=, ip_addr=05, port=23000 server 2. group_name=, ip_addr=06, port=23000group_name=group1, ip_addr=06, port=23000 storage_upload_by_filenamegroup_name=group1, remote_filename=M00/00/00/wKgAzlV8em6Af8qBAAAADxtaRO466.htm lsource ip address

20、: 06file file fileextimest=2015-06-14 02:46:06size=15 crc32=458900718le file url:DxtaRO466.html storage_upload_slave_by_filenamegroup_name=group1, remote_filename=M00/00/00/wKgAzlV8em6Af8qBAAAADxtaRO466_big.htmlsource ip address: 06file file fileextimest=2015-06-14 02:46:06size=15 crc32=458900718le

21、file url:DxtaRO466_big.html四Fastdfs 的相关问题1. FastDFS 适用的场景以及不适用的场景?FastDFS 是为互联网应用量身定做的一套分布式文件系统,非常适合用来用户图片、文档等文件。对于互联网应用,和其他分布式文件系统相比,优势非常明显。具体情况大家可以看相关的介绍文档,包括 FastDFS 介绍 PPT 等等。出于简洁考虑,FastDFS 没有对文件做分块,因此不太适合分布式计算场景。2. FastDFS 需要的编译和运行环境是怎样的?FastDFS Server 仅支持 unix 系统,在 Linux 和 FreeBSD 测试通过。在 Solar

22、is 系统下网络通信方面有些问题。编译需要的其他库文件有 pthread 和 libevent。pthread 使用系统自带的即可。对 libevent 的版本要求为 1.4.x,建议使用的 stable 版本,如 1.4.14b。注意,千万不要使用 libevent 2.0 非 stable 版本。测试了一下,libevent 2.0.10 是可以正常工作的。在 64 位系统下,可能需要自己在/usr/lib64 下创建 libevent.so 的符号ln -s /usr/lib/libevent.so /usr/lib64/libevent.so。比如:在 ubuntu 11 及后续版本,

23、可能会出现找不到动态库 pthread 库,解决方法参见:3. 有人在生产环境中使用 FastDFS 吗?是肯定的。据我所知,至少有 20 家公司在使用 FastDFS,其中有好几家是做网盘的公司。其中量最大的一家,集群中group 数有 200 个,服务器超过 200 台,容量达到 3PB,文件数近 1 亿,Group 持续增长中。4. fdfs_test 和 fdfs_test1 是做什么用的?这两个是 FastDFS 自带的测试程序,会对一个文件上传两次,分别作为主文件和从文件。返回的文件 ID 也是两个。并且会上传文件附加属性,storage server 上会生成 4 个文件。这两个

24、程序仅用于测试目的,请不要用作实际用途。V2.05 提供了比较正式的三个小工具:上传文件:/usr/local/bin/fdfs_upload_file 文 件 : /usr/local/bin/fdfs_download_file local_filename删除文件:/usr/local/bin/fdfs_delete_file 5.主从文件?主从文件是指文件 ID 有关联的文件,一个主文件可以对应多个从文件。主文件 ID = 主文件名 + 主文件扩展名从文件 ID = 主文件名 + 从文件后缀名 + 从文件扩展名使用主从文件的一个典型例子:以或多张缩略图。为例,主文件为原始,从文件为该的

25、一张FastDFS 中的主从文件只是在文件 ID 上有联系。FastDFS server 端没有关系,因此删除主文件,FastDFS 不会自动删除从文件。删除主文件后,从文件的级联删除,需要由应用端来实现。主文件及其从文件均存放到同一个 group 中。主从文件的生成顺序:1)先上传主文件(如原文件),得到主文件 ID主从文件对应2)然后上传从文件(如缩略图),指定主文件 ID 和从文件后缀名(当然还可以同时指定从文件扩展名),得到从文件 ID。6. 如何删除无效的 storage server?可以使用 fdfs_monitor 来删除。命令行如下:/usr/local/bin/fdfs_m

26、onitor delete 例如:/usr/local/bin/fdfs_monitor /etc/fdfs/cnt.conf delete group1 00注意:如果被删除的 storage server 的状态是 ACTIVE,也就是该 storage server 还上服务的情况下,是无法删除掉的。7. FastDFS 扩展模块升级到 V1.06 及以上版本的注意事项apache 和 nginx 扩 展 模 块 版 本 v1.06 及 以 上 版 本 , 需 要 在 配 置 文 件/etc/fdfs/fastdfs_mod.conf 中设置 storage server 的一个示例如下所示:store_path_count=1store_path0=/home/yuqing/fastdfs路径信息。store_path_count 和 store_path#均需要正确设置,必须和 storage.conf 中的相应配置完全一致,否则将导致文件不能正确!8. nginx 和 apache 扩展模块与 FastDFS server 版本对应关系扩展模块 1.05: 针对 FastDFs server v2.x,要求 server 版本大于等于 v2.09扩展模块 1.07 及以上版本: 针对 FastDFs server v3.x9. FastDFS

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论