分布式系统介绍_第1页
分布式系统介绍_第2页
分布式系统介绍_第3页
分布式系统介绍_第4页
分布式系统介绍_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

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

文档简介

1、、分布式系统介绍分布式文件系统的作用:1、超大数据存储;2、数据高可用(冗余备份);3、读写高性能;4、支持高并发;5、海量数据计算目前的数据量越来越大,单台服务器已经无法满足以上需求,因此分布式文 件系统就是解决此类问题。下面主要以轻量级分布式文件系统 FastDFS来介绍。FastDFS是一个开源的 轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。 特别适合以 中小文件(建议范围:4KB < V500MB)为载体的在线数据服务。FastDFS 架构:Client 一/Tracker 群一IIIIIIIIIIIIIII*ClientlClint2Clientnft=1Tra

2、ckcn Traclker2°Trakcern|_一丿I >I f fII TI '虹I t Storagl-liJ I1丨八T III f yI11*/I.I0'弋.StoragerZI 常严工、 /<4* /Storager1-2Stcrager2-2IIIIIIIItP TII-“ 丨IStoragern-1l ;J; | | ”片* SStoragernZFastDFS服务端有三个角色:跟踪服务器( tracker server )、存储服务器(storage server )、客户端(die nt ):tracker server :跟踪服务器,

3、主要做调度工作,起负载均衡的作用。在内存中记录集 群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。相比FS中的master更为精简,不记录文件索引信息,占用的内存量很少。跟踪器和存储节 点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压 力情况随时增加或减少。storage server :存储服务器(又称:存储节点或数据服务器),文件和文件属性( eta data )都保存到存储服务器上。Storage server 直接利用OS的文件系统调用管理Fa文件。存储节点存储

4、文件,完成文件管理的所有功能:存储、同步和提供存取接口,stDFS同时对文件的metadata进行管理。所谓文件的meta data就是文件的相关属性, 以键值对(key value pair )方式表示,如:width=1024 ,其中的key为width ,value为1024。文件metadata是文件属性列表,可以包含多个键值对。 为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台 存储服务器组成,一个卷下的存储服务器中的文件都是相 同的,卷

5、中的多台存储服务器起到了 冗余备份和负载均衡的作用。在卷中增加服务器时, 同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供 服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。TCP/IPclient :客户端(不是必须的),作为业务请求的发起方,通过专有接口,使用协议与跟踪器服务器或存储节点进行数据交互。使用FastDFS模块内置的文件上传和下载,client可以配置在单独的机器上,也可以在tracker或者storage上。client并不需要启动服务,只是在发起业务时,负责与tra

6、cker和stroage通信,完成文件上传和下载的业务。FastDFS默认的业务流程:上传文件交互过程:1. client询问tracker上传到的storage,不需要附加参数;2. tracker 返回一台可用的storage ;3. client直接和storage 通讯完成文件上传。FastDFS下载文件交互过程:1. client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);2. tracker 返回一台可用的storage ;3. client直接和storage通讯完成文件下载。II111IIInilc tonicnl an J(optioiul i

7、hie id hr.diu*lmg 営wiip mnne jsuI I tie msiiiie)I图表1上传交互流程I! nic id (in eluding jzioup niriK muJ hie iwnie) jMorjige rp (iddr ponIIIIIIIIIfile v<1 (iiiwiudiii y miip nurn nd file mrnejInie cnriicm I_iIIII11Ji3i j!iII rIIIIII图表2下载交互流程FastDFS 与 Nginx http ServerFastDFS一般通过 目前 FastDFS 的 Client的业务流程:

8、FastDFS Client进行文件数据的上传下载等业务。 版本有 java,c#,Node.js 以及 c( FastDFS 内置 客户端),用来进行业务的处理。FastDFS的分布式存储的数据,如果需要提供httP在线数据服务,目前通常采用nginx和apache集成进行。具 体的集成下面的部署说明会有介绍。图表 3 FastDFS与Nginx集成一般情况下每台Storage服务器都应该部署一台Nginx服务器,以提 供数据下载服务。在前端配置一台负载均衡服务器器,将不同的请求分发到 不同的数据服务器上。、分布式文件系统 FastDFS的部署搭建FastDFS系统还是有点繁琐(对于不熟悉

9、Linux环境),搭建 FastDFS系统需要做以下准备:硬件准备:至少需要准备三台linux系统最好使用CentOS配置环境一台Tracker 节点服务器,至少两Storage节点服务器。Tracker192168,1,1/trackerStorageStorageStorage/f192,168,130Groupl_'_' - Grou plGroup2/storage/storage/storage图表4典型FastDFS结构安装前需要准备的软件:1、putty远程控制软件如果在自己机器上安装linux虚拟机,那么不需要下面这两

10、款软件。如 果使用公司的虚拟机那么需要安装这款软件以远程操作linux。这是一款可以在windows平台使用远程登录linux,执行shell操作的 工具。使用界面如下:辭 roottPSe rverC;所有相关的软件下载地址2、tigerVNC这是一款可视化操作linux平台的简单好用远程控制平台。在windows 端安装 TigerVNC Viewer,在 linux 端安装 TigerVNC Server,即可远 程可视化控制linux。windows 上安装 tigervnc-1.3.1.exe。linux机器上安装一般采用命令安装(一般现在主流linux系统都有软 件仓库,大部分常用

11、软件都在软件仓库,特别是知名开源软件,使用 命令可以直接安装,这点是与 win dows系统很大不同。),直接使用 命令:yum in stall tigerv ncyum in stall tigerv nc-server安装过程中可能会提示丫/N, 律丫安装完毕。命令即可启动服务。第一次启动vncserver会提示设置密码,设置密码即可启动。 测试过程可以关闭防火墙,也可以配置防火墙的过滤端口。暂时关闭防火墙的命令 :service ip tables stop使用 Vncserver3、安装gccgcc是linux下c语言的编译环境和工具。fastdfs使用c语言开发, 网上提供的是源码

12、包,需要自行编译。这点大家以后在使用Linux的时候也要注意,linux下的软件主要是开源社区提供的,有些软件需要 下载后用户编译部署。安装gcc也很简单一行命令:yum in stall gcc如果还需要C+编译环境使用下面的命令(我们这次只需要gcc环境):yum in stall gcc gcc-c+ kern el-devel4、安装GitGit是另外一种版本管理软件。fastdfs代码使用git托管的,因此需 要安装此工具。安装这个工具也很简单一行命令:yum in stall git5、fastdfs安装需要准备的软件 libfastcom monFastDFS_v5.07.tar

13、.gz6、安装 libfastcommon 命令行输入:git clone等待libfastcommon 下载完毕,使用命令cd切换路径路径到libfastcommon路径,命令行输入如下命 令cd /libfastcommon./make.sh./make.sh in stall如果编译生成成功,会在/usr/lib64,/usr/lib libfastcommon .so下分别生成但是FastDFS主程序设置的lib目录是/usr/local/lib所以需要创建软链接.n -S /usr/lib64/libfastcommon .so /usr/local/lib/libfastcommo

14、n .son -s /usr/lib64/libfastcom mon.so /usr/lib/libfastcom mon.sobase_ path=/tracker,目前我都采用的是默认配置。n -s /usr/lib64/libfdfsclie nt.so /usr/local/lib/libfdfsclie nt.son -s /usr/lib64/libfdfsclie nt.so /usr/lib/libfdfsclie nt.so注:使用命令pwd查看当前的路径rootServers *- f pwd /rootIhome 11 roQt&Sezvexfi user# h

15、orae/uaeicd /home/user pwd&安装 FastDFSFastDFS目前的源码托管在 下载源码,使用以下命令:sourceforge服务器上,可以从服务器上Wget下载完毕会提示"FastDFS_v5.07.tar.gz"已经保存。这是压缩包格式,使用一下命令解压缩::ar -xzvf FastDFS v5.07.tar.gz解压缩完毕,所有代码会解压缩到 FastDFS目录下,切换当前目录到FastDFS,然后开始编译并安装:cd FastDFS./make.sh./make.sh in stall如果顺利的话,至此FastDFS的安装完成。然

16、后需要开始FastDFS的 配置。安装完成后,一些可执行文件会部署到 文件会部署到/etc/fdfs/目录下。/usr/bin 目录下,一些配置7、配置FastDFS的配置文件 不管是Tracker服务器,还是Storage 程部署。配置Tracker服务,将当前目录切换到服务器都按照上面16的流/etc/fdfs目录下,修改配置文件 tracker.conf.sample,一般情况下拷贝 tracker.conf.sample重命名为tracker.conf 。然后编辑tracker.conf.文件。拷贝命令 cp tracker.conf.sampie tracker.conf可以在命令行

17、环境下编辑,也可以在通过VNC在可视化环境下编辑。Vim tracker.c onf可以根据需要配置修改里面的一些配置,比如停止服务采用命令:killall fdfs trackerd使用命令启动tracker服务: fdfs trackerd /etc/fdfs/tracker.c onf配置Storage服务,同样是将当前目录切换到/etc/fdfs 目录下,修 改配置文件 storage.conf.sample,拷贝重命名 storage.conf。Cp storage.c on f.sa mp le storage.c onf修改配置文件vim storage.c onf其中有些一些配

18、置,要做修改:base_ path=/home/y uqin g/fastdfs store_ pathO=/home/yuqi ng/fastdfs group_ name=gro up1/tracker_server=8:22122 tracker_server=9:22122 有几台服务器配置几台tracker_server 使用命令启动storage服务: fdfs_storaged /etc/fdfs/storage.c onf 停止服务米用命令killall fdfs storaged配置Client服务,同样是将当前目录切换到/

19、etc/fdfs 目录下,修改 配置文件 client.conf.sample,拷贝重命名 client.conf 。cp clie nt.c on f.sa mple clie nt.c onf修改配置文件:Vim clie nt.c onf主要需要修改的配置是tracker_server 的配置,修改tracker_server 配置为tracker_server=9:22122FastDFS的基础安装都基本完成。下面可以开始测试,下面可以使用 如下命令测试,上传一个文件fdfs_upl oad_ fastdfs-nginx-module_v1.16.tar.gz

20、使用命令,可以查看当前所有配置的服务器运行状态:fdfs monitorclient.conf注:vim是Linux下经典的文本编辑工具,这是一个基于键盘控制的 命令行环境的文本编辑工具,对于wi ndows下的开发人员可能初次接 触会不太习惯。查看这个vim常用命令帮助8、集成 NginxNginx是用来提供http服务,FastDFS集成Nginx可以为分布式存储 数据提供http访问服务。前面也已经介绍过,一般在Storage节点服务上同时部署nginx服务。集成Nginx需要准备的项目有以下几个: fastdfs-ngin x-modulep cre-developen sslNgi

21、nx-1.9.7首先使用wget下载fastdfs-nginx-module,下载地址和代码如下:wget下载完成后使用命令解压缩tar -xzvf fastdfs-ngin x-module_v1.16.tar.gz注意:有些需要调整文件"Vim fastdfs-nginx-module/src/config修改 CORE_INCS="$CORE_INCS /usr/local/include/fastdfs/usr/local/i nclude/fastcommo n/"为 CORE_INCS="$CORE_INCS/usr/i nclude/fas

22、tdfs /usr/i nclude/fastcom mon/"Nginx依赖以下两个软件um -y in stall p cre-develum -y in stall open ssl open ssl-devel从nginx官网下载Nginx,下载完成后,nginx需要编译并部署 wget解压缩nginxtar -xzvfngin x-1.9.7.tar.gz切换目录到nginx目录下cd nginx-1.9.7设置编译参数./con figure-p refix=/usr/local/ngi nx-add-module=/etc/fdfs/fastdfs-ngin x-mod

23、ule/src使用一下命令编译安装makemake in stall配置 fastdfs-nginx-module:复制 fastdfs-nginx-module 源码中的配置文件 mod_fastdfs.conf到/etc/fdfst;p /etc/fdfsetc/fdfs修改该配置文件group_ name=gro up1tracker_server=9:22122store_ path0=/home/yuqi ng/fastdfsbase_ path=/home/y uqin g/fastdfs复制 FastDFS的配置文件 http.conf,mime.types到 /etc/fdfs/bp /root/FastDFS/conf/http.conf /etc/fdfs pp /root/FastDFS/c on f/mime.t ypes /etc/fdfs配置Nginx:修改 nginx 的配置文

温馨提示

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

评论

0/150

提交评论