CentOS 6.5下 分布式文件系统FastDFS的搭建

老规矩,开始之前说一下什么是FastDFS


FastDFS是用c语言编写的一款开源的分布式文件系统。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。


直接开始----->搭建



一、下载相关的FastDFS的源码包




资源在这里下载 -->  我的资源


FastDFS还需要用到Nginx,因此,还需要Nginx的源码包



下载地址---->nginx官网下载


二、相关文件上传


环境:一台虚拟机,系统Linux,版本:CentOS 6.5

上传以上四个文件至Linux系统下的/root目录下


CentOS 6.5下 分布式文件系统FastDFS的搭建_第1张图片


Shell工具查看







三、FastDFS依赖包 下载安装


安装FastDFS之前,先安装libevent

yum -y install libevent


CentOS 6.5下 分布式文件系统FastDFS的搭建_第2张图片


四、安装libfastcommonV1.0.7工具包


4.1 解压 libfastcommon-1.0.7-tar-gz


tar -zxvf libfastcommon-1.0.7.tar.gz


CentOS 6.5下 分布式文件系统FastDFS的搭建_第3张图片


 

4.2 进入libfastcommon-1.0.7目录,执行make.sh,编译c源码


cd libfastcommon-1.0.7

./make.sh

CentOS 6.5下 分布式文件系统FastDFS的搭建_第4张图片

然后就是唰唰唰唰


CentOS 6.5下 分布式文件系统FastDFS的搭建_第5张图片


4.3 安装libfastcommon包,默认安装在/usr/lib64目录下(我的Linux系统是64位)

./make.sh install




CentOS 6.5下 分布式文件系统FastDFS的搭建_第6张图片


安装完成后,/usr/lib64 目录下就会 多一个 libfastcommon.so包出来




如果你的Linux系统是32位的,请将/usr/lib64/libfastcommon.so 拷贝到/usr/lib/目录下


cp /usr/lib64/libfastcommon.so /usr/lib


五、安装FastDFS,配置Tracker服务(同第四步,libfastcommon包的安装


5.1 解压包   FastDFS_v5.05.tar.gz

tar  -zxvf  FastDFS_v5.05.tar.gz



5.2 编译c源码,./make.sh  唰唰唰(切换到 FastDFS目录下cd FastDFS

5.3 安装./make.sh install




bin目录下:可执行文件

fdfs目录下:配置文件


安装完成后,先切换到 /usr/bin目录

5.4 查看一下编译后的FastDFS相关可执行文件


ll fdfs_*


CentOS 6.5下 分布式文件系统FastDFS的搭建_第7张图片

注明:FastDFS只有两个角色:TrackerserverStorageserver


5.5 然后再切换到/etc/fdfs目录,查看一下FastDFS配置文件,目前下面有三个配置例子


CentOS 6.5下 分布式文件系统FastDFS的搭建_第8张图片


5.6 切换回 /root/FastDFS 目录,拷贝conf目录下面的配置文件 到 /etc/fdfs 下


CentOS 6.5下 分布式文件系统FastDFS的搭建_第9张图片


将conf目录下面的配置文件,全部拷贝到 /etc/fdfs 目录下(以后FastDFS配置以/etc/fdfs目录下面的文件为准)


cp conf/* /etc/fdfs   (conf下面放的都是配置文件,不涉及文件夹,cp的时候 不用考虑参数 -r)


CentOS 6.5下 分布式文件系统FastDFS的搭建_第10张图片


我们发现,原有的sample配置案例和FastDFS目录下面的conf里面的文件大小一样,其实两个是同一个,只不过名字不一样。



5.7 配置Tracker服务


vim /etc/fdfs/tracker.conf


CentOS 6.5下 分布式文件系统FastDFS的搭建_第11张图片


以下利用EditPlus的ftp功能,远程查看tracker.conf如下;


CentOS 6.5下 分布式文件系统FastDFS的搭建_第12张图片


随后我们需要在/home目录下,创建fastdfs/tracker目录(属于我们自己的路径)


CentOS 6.5下 分布式文件系统FastDFS的搭建_第13张图片




vim,修改 tracker.conf的 base_path = /home/fastdfs/tracker



保存并退出,配置tracker完成。



5.8 启动Tracker服务


 # /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf (可执行程序 后跟 配置文件)




# /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf  restart(重启)



ps aux|grep tracker  命令 查询 相关进程


六、配置Storage服务

由于,FastDFS的tracker和storage在一台机子上演示,所以,下面直接配置storage,如果,storage server和tracker server不在同一台机子上,需要按照安装FastDFS的流程走一遍,然后才能,继续配置Storage服务。


和配置tracker服务一样,配置Storage直接修改/etc/fdfs/storage.conf


CentOS 6.5下 分布式文件系统FastDFS的搭建_第14张图片


vim /etc/fdfs/storage.conf 或者 EditPlus修改

(1)修改base_path(同tracker服务的path配置一样,这里指定/home/fastdfs/storage)




日志存放路径修改如下


CentOS 6.5下 分布式文件系统FastDFS的搭建_第15张图片

(2)修改store_path

图片存放路径修改如下(和日志存放的路径一样,图省事,如果服务器有多个磁盘,可以指定不同磁盘的存放地址,可以配置多个,本篇条件有限,不做演示)


CentOS 6.5下 分布式文件系统FastDFS的搭建_第16张图片


(3)指定tracker server服务器的IP和端口,如有多个tracker server 依次往下配置,格式 主机(IP):端口(22122)


由于,tracke安装在当前Linux系统中,所以IP即当前系统的IP


CentOS 6.5下 分布式文件系统FastDFS的搭建_第17张图片


(4)保存storage配置文件,并启动Storage服务


/usr/bin/fdfs_storaged /etc/fdfs/storage.conf



这个启动过程稍微慢一点,启动服务的时候,会创建一堆文件及目录(两级目录),在/home/fastdfs/storage/data目录下可以查看


CentOS 6.5下 分布式文件系统FastDFS的搭建_第18张图片


启动后,可以根据 ps aux|grep storage查看storage相关进程

七、测试Storage服务,上传一张图片


7.1 上传文件的文件名

客户端上传文件后存储服务器文件ID返回给客户端,此文件ID用于以后访问该文件的索引信息。文件索引信息包括:组名,虚拟磁盘路径,数据两级目录,文件名。

 

 

组名:文件上传后所在的storage组名称,在文件上传成功后有storage服务器返回,需要客户端自行保存。

虚拟磁盘路径storage配置的虚拟路径,与磁盘选项store_path*对应。如果配置了store_path0则是M00,如果配置了store_path1则是M01,以此类推。

数据两级目录storage服务器在每个虚拟磁盘路径下创建的两级目录,用于存储数据文件。

文件名:与文件上传时不同。是由存储服务器根据特定信息生成,文件名包含:源存储服务器IP地址、文件创建时间戳、文件大小、随机数和文件拓展名等信息。

 

7.2 利用自带的工具测试

CentOS 6.5下 分布式文件系统FastDFS的搭建_第19张图片

测试图片,在/etc/fdfs目录下,有一个anti-steal.jpg




执行fdfs_test之前,需要修改一下client.conf,这个在 /etc/fdfs/client.conf


CentOS 6.5下 分布式文件系统FastDFS的搭建_第20张图片


保存后,切换到图片所在路径 /etc/fdfs(记得创建一下client目录mkdir /home/fastdfs/client)


然后,执行fdfs_test + client.conf +upload +图片

完整命令如下:


/usr/bin/fdfs_test /etc/fdfs/client.conf upload anti-steal.jpg

CentOS 6.5下 分布式文件系统FastDFS的搭建_第21张图片



注意,M00表示store_path0,而这个store_path0就是我们之前配置过的/home/fastdfs/storage




因此我们去 /home/fastdfs/storage/data/00/00目录下面去找一下这个图片(当然,根据图上的信息,目录下应该不止一张图,还包括xxx._big.jpg),验证一下上传功能是不是奏效了:


CentOS 6.5下 分布式文件系统FastDFS的搭建_第22张图片


我们外部打开一下,看一下图片长什么样


CentOS 6.5下 分布式文件系统FastDFS的搭建_第23张图片


打开后,图片长成下面那个样




意外不意外,自带的图片居然是一张广告


那个xxxx_big.jpg和这个图片是一模一样的,这里就不打开了!




由于,http服务还没有搭建和配置,因此,目前只能在服务器上看到这张图片,通过url的方式暂未实现,但是足以证明我们的FastDFS已经搭建成功了,以及其两个主要角色 tracker 和 Storage 服务也已经配置成功了,全篇下来,感觉没什么难点,唯一比较绕的就是目录的来回切换,一定要知道可执行文件放在哪,配置文件放在哪,以及,tracker和Storage怎么修改其对应的conf,还有,最后存储的图片的文件名 是怎么定的,当然,作为一名开发人员,我们只要知道FastDFS分布式文件系统怎么用就行了,至于其中繁琐的配置,就交给运维工程师来就好了,本篇重在实战,如果单看的话,很难消化!


由于篇幅有限,FastDFS有关的学习和使用后续篇章再继续。






你可能感兴趣的:(Linux)