搭建FastDFS集群

先插一张图(学习的时候找的)http://blog.csdn.net/u012453843/article/details/68957209?>

软件下载地址:主要是fastdfslibfastcommon

https://github.com/happyfish100/

讲一讲服务器功能:

1Storage+NginxStorageFastdfsfastdfs分为TrackerStorage)的其中一个模块,主要是用于存放文件;Nginx添加fastdfs的专用Nginx模块,用于文件的Url访问。在同一个组的Storage互为备份,不同的组用于横向扩展容量。

2Tracker+NginxTrackerFastdfsfastdfs分为TrackerStorage)的其中一个模块,主要是用于资源的调度,当用户使用客户端上传的时候,Tracker作为负载均衡,返回一个调度的Storage给客服端,然后客服端将文件上传到StorageNginx添加缓存模块作为负载均衡和缓存服务器。

3Nginx集群多层负载均衡,作用的对外接口访问。

 

除Nginx集群多层负载均衡的2台外都要操作(TrackerStorage同为Fasfdfs软件,只是最后我们启动的服务不同)(共六台):

安装gcc,使用的命令:yum install -y make cmake gcc gcc-c++

安装zip命令:yum install -y zip unzip

解压libfastcommon-master.zip。使用命令:unzip libfastcommon-master.zip

安装vim,之所以安装vim是因为安装vim会自动帮我们安装perl,以后编辑配置文件也方便。yum install -y vim-enhanced

使用 make.sh make.sh install 安装ibfastcommon-master。

添加软连接:(新版的改了很多,这是原博主的,没有验证是不是可以不要,有两个连接或者文件时存在的)

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

 

使用 make.sh make.sh install 安装fastdfs

 

安装完成后的配置文件目录是:/etc/fdfs/

将配置文件的模板复制一份作为配置文件

Tracker的配置文件基本不用改,具体的配置项说明可以看看,主要是看他配置的目录根据需求来改,如果不存在最好是先建好(没有测试是不是会自动建立)。

Storage的配置文件也是基本不用改,具体的配置项说明可以看看,主要是看他配置的目录根据需求来改,如果不存在最好是先建好(没有测试是不是会自动建立),然后添加你的Tracker服务器,有几台加几台。然后就是不同存储组之间组名要不一样,同一存储组之间组名要一样。

 

Tracker开放22122端口

firewall-cmd --zone=public --add-port=22122/tcp --permanent

systemctl restart firewalld.service

Storage开放23000端口

firewall-cmd --zone=public --add-port=23000/tcp --permanent

systemctl restart firewalld.service

 

程序的目录是:/etc/init.d/

Tracker的启动:/etc/init.d/fdfs_trackerd start

Storage的启动:/etc/init.d/fdfs_storaged start

 

启动后可以分别到你配置的目录下的logs目录查看相关的日志。

查看集群信息:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

可以使用命令cd /usr/bin/ && ls | grep fdfs来查看fdfs所有的命令

 

上传测试:Fastdfs配置文件目录是:/etc/fdfs/,程序的目录是:/etc/init.d/

在他的目录下还有一个工具可以用,就是client,同样的复制配置文件模板,同样基本不用改,具体的配置项说明可以看看,主要是看他配置的目录根据需求来改,如果不存在最好是先建好(没有测试是不是会自动建立),然后添加你的Tracker服务器,有几台加几台。

 

使用的命令:/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /usr/local/3.jpg 

按回车执行上传命令后,会返回一个串:

group1/M00/00/00/wKicB1jjiFmAOUdkAAHk-VzqZ6w720.jpg,其中group1表示这张图片被保存在了哪个组当中,M00代表磁盘目录,如果电脑只有一个磁盘那就只有M00, 如果有多个磁盘,那就M01M02...等等。00/00代表磁盘上的两级目录,每级目录下是从00FF256个文件夹,两级就是256*256个。wKicB1jjiFmAOUdkAAHk-VzqZ6w720.jpg表示被存储到storage上的3.jpg被重命名的名字,这样做的目的是为了防止图片名字重复。

可以去同一存储组的目录下查看是不是同步了,路径是你配置文件中的目录加上/00/00/。

 

对于Nginx的缓存服务器和上层的负载均衡就不在这里讲了。

posted on 2018-01-25 11:32  徐应钟  阅读(184)  评论(0编辑  收藏  举报

导航