- 1、本文档共12页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、分布式系统介绍
分布式文件系统的作用:1、超大数据存储;2、数据高可用(冗余备份);3、读写高性能;4、支持高并发;5、海量数据计算。
目前的数据量越来越大,单台服务器已经无法满足以上需求,因此分布式文件系统就是解决此类问题。
下面主要以轻量级分布式文件系统FastDFS来介绍。
?
???? FastDFS架构:
FastDFS服务端有三个角色:跟踪服务器(tracker server)、存储服务器(storage server)、客户端(client):
tracker server:跟踪服务器,主要做调度工作,起负载均衡的作用。在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。相比GFS中的master更为精简,不记录文件索引信息,占用的内存量很少。跟踪器和存储节点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。
storage server:存储服务器(又称:存储节点或数据服务器),文件和文件属性(meta data)都保存到存储服务器上。Storage?server直接利用OS的文件系统调用管理文件。存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的metadata进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key valuepair)方式表示,如:width=1024,其中的key为width,value为1024。文件metadata是文件属性列表,可以包含多个键值对。为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。
client:客户端(不是必须的),作为业务请求的发起方,通过专有接口,使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互。使用FastDFS模块内置的文件上传和下载,client可以配置在单独的机器上,也可以在tracker或者storage上。client并不需要启动服务,只是在发起业务时,负责与tracker和stroage通信,完成文件上传和下载的业务。
?
FastDFS默认的业务流程:
?
图表 1 上传交互流程
????????
图表 2 下载交互流程
?
?
FastDFS与Nginx http Server的业务流程:
FastDFS一般通过FastDFS Client进行文件数据的上传下载等业务。目前FastDFS的Client版本有java,c#,Node.js以及c(FastDFS内置客户端),用来进行业务的处理。FastDFS的分布式存储的数据,如果需要提供http在线数据服务,目前通常采用nginx和apache集成进行。具体的集成下面的部署说明会有介绍。
3 FastDFS与Nginx集成
一般情况下每台Storage服务器都应该部署一台Nginx服务器,以提供数据下载服务。在前端配置一台负载均衡服务器器,将不同的请求分发到不同的数据服务器上。
?
?
二、分布式文件系统FastDFS的部署
搭建FastDFS系统还是有点繁琐(对于不熟悉Linux环境),搭建FastDFS系统需要做以下准备:
?
硬件准备:?至少需要准备三台linux 系统最好使用CentOS,配置环境一台Tracker节点服务器,至少两Storage节点服务器。
图表 4 典型FastDFS 结构
安装前需要准备的软件:
putty 远程控制软件如果在自己机器上安装linux虚拟机,那么不需要下面这两款软件。如果使用公司的虚拟机那么需要安装这款软件以远程操作linux。
这是一款可以在windows平台使用远程登录linux,执行shell操作的工具。使用界面如下:
?
所有相关的软件下载地址 31/uglobesetup/fastdfs/
2、tigerVNC
这是一款可视化操作linux平台的简单好用远程控制平台。在windows端安装TigerVNC Viewer,在linux端安装TigerVNC Server,即可远程可视化控制linux。
window
文档评论(0)