编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

CentOS上FastDFS的部署教程:轻松搭建高效分布式文件系统

wxchong 2024-08-19 23:55:45 开源技术 18 ℃ 0 评论

FastDFS是一个开源免费的轻量级分布式文件系统,它由跟踪服务器(tracker server)和存储服务器(storage server)组成。FastDFS的主要优点包括高可靠性、高性能、易于扩展、灵活性强、易于集成等,适用于大规模的文件存储和管理。

在今天的数字化时代,文件管理和存储已成为企业不可或缺的一部分。然而,传统的文件存储方式往往存在单点故障、性能瓶颈、扩展困难等问题,无法满足企业高效、可靠、灵活的需求。FastDFS作为一种分布式文件系统,可以有效地解决这些问题。

首先,FastDFS采用分布式架构,可以通过多台服务器来提供服务,从而避免单点故障,提高了系统的可靠性。其次,FastDFS采用了多种优化措施,如文件分块存储、文件元数据缓存、负载均衡等,从而提高了系统的性能和吞吐量。此外,FastDFS支持水平扩展,可以通过增加存储服务器和跟踪服务器来扩展系统的存储容量和负载能力。同时,FastDFS支持多种文件存储策略,如同步和异步复制、多副本存储、分布式存储等,可以根据实际需求选择不同的存储策略。最后,FastDFS提供了丰富的客户端API和命令行工具,可以方便地集成到各种应用程序中,如Web服务器、应用服务器、数据库等。

Fastdfs在Centos上的部署,公司部署文档,按照步骤操作,一定成功!!!!

包含Fastdfs单机和集群部署和Nginx的对接部署(如下以单机部署为例,需要集权部署地方有说明)

目录:
1、通过源代码进行安装,下载并编译安装
2、Tracker 的配置
3、Storage 的配置
4、Client 的配置
5、启动和监控
6、Nginx 配置


说明:集群部署时,tracker 和 storage 使用如下的配置,可以配置到多台服务器上,nginx 只需在其中一台storage机器上进行部署就行。每台storage之间的文件会相互之间做拷贝,基于带宽的限制,可能会有毫秒级的误差时间。

1、通过源代码进行安装,下载并编译安装

安装编译环境

yum install git gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl-devel wget vim -y

下载源代码(或自行打开网页下载对应版本源代码 github 上 happyfish100)

安装 libfastcommon
解压后进入文件夹

cd libfastcommon

编译并安装,运行如下指令

./make.sh && ./make.sh install


安装 和 配置 Fastdfs
解压后进入文件夹

cd fastdfs

编译并安装,运行如下指令

./make.sh && ./make.sh install

查看/etc/fdfs文件夹,是否存在如下后缀的配置文件

如存在后缀为*.sample ,去掉后缀

2、Tracker 的配置

修改tracker.conf 配置(以下以单机部署为例,如需集群部署,可以在多台服务器做相同的如下配置)

创建fastdfs_data 目录,用于存储文件和配置,以/data/app/fastdfs_data 为例

找到base_path 配置,将地址修改为创建的fastdfs数据目录

base_path = /data/app/fastdfs_data

fastdfs 的默认group为 group1,如需要自定义分组,找到store_group 修改为自定义组,以brs为例

store_group = brs

如需修改端口,可以将port = 22122 修改为自定义端口

找到reserved_storage_space 配置,修改百分比,建议修改为5%,意思是data文件夹所在的磁盘,剩余5%以下时,磁盘已不满足fastdfs要求,服务会停止,所以建议存储data的持平足够大,做好前期规划

3、Storage 的配置

修改storage.conf 配置文件

找到base_path 配置,将路径修改为创建的fastdfs数据文件夹,一定需要和tracker.conf 配置数据路径一直
将group_name 修改为自定义的group名称,如brs,如使用默认就不用修改,一定需要和tracker.conf 组名称一致。
storage默认端口为23000,如需修改为自定义端口,修改port值就可以。

修改store_path0路径为fastdfs数据文件夹,如下图:
修改tracker_server 地址为上面部署配置的tracker地址和端口,如下图(以单机部署为例):(如集权部署,tracker_server 有多少个服务就填写多少行【多个tracker_server ,key值都是tracker_server ,只需修改ip和端口就可以】)

http.server_port 如需通过Nginx来代理范围,请配置和Nginx一样的端口,如不需要请默认不用修改

4、Client 的配置

修改client.conf 配置文件

修改base_path 目录为fastdfs数据文件夹
修改tracker_server 地址为上面部署配置的tracker地址和端口,如上图(以单机部署为例):(如集权部署,tracker_server 有多少个服务就填写多少行【多个tracker_server ,key值都是tracker_server ,只需修改ip和端口就可以】)
http.tracker_server_port 修改为tracker配置文件中,server_port 端口,注意不是22122端口。一般默认不用修改。

如上配置已完成

5、启动和监控

启动fastdfs

先启动Tracker,指令如下:

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

再启动storage,指令如下:

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

如修改了配置,需要重启tracker和storage,执行如下指令

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart

查看fastdfs状态,指令如下:

fdfs_monitor /etc/fdfs/client.conf

通过这个指令能看到当前tracker server,group name 以及 Storage ip和对应的状态,如果状态为ACTIVE 证明storage 是启动状态的
如需删除集群里面的某一台 Storage,执行如下的指令(组里面的哪一个ip的Storage)

fdfs_monitor /etc/fdfs/client.conf delete brs 39.100.88.22

测试一下吧
找到一个测试的文件,如下图,并执行如下指令,并得到类似如下的结果,那么恭喜,你以及部署成功了。

6、Nginx 配置(一般需要将Nginx配置在集群中某一台Storage服务器上)

下载Nginx 版本并部署,请参考Nginx部署文档

进入fastdfs-nginx-module/src 文件夹,获取到文件路径,通过pwd获取

进入nginx 安装文件夹,
执行配置指令和安装指令

./configure --add-module=/data/app/fastdfs/fastdfs-nginx-module-master/src --prefix=你想要安装的目录(如果默认地址不需要这个配置)
make && make install

文件配置
将 /data/app/fastdfs/fastdfs-nginx-module-master/src/mod_fastdfs.conf 拷贝到 /etc/fdfs 文件夹

cp /data/app/fastdfs/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs

修改 mod_fastdfs.conf 配置,如下图:

修改base_path 为fastdfs 数据文件夹
修改tracker_server 为Tracker 的ip和端口(集权模式,配置多行【key相同,value不同】)
修改storage_server_port 为 storage的端口,默认为23000
修改group_name 为配置在tracker 中的 group,如有修改需修改这个配置
修改url_have_grou_name 为 true
修改store_path0 为fastdfs 数据文件夹

修改 Nginx 的配置,在监听的 Server 下添加如下代码 (brs为group_name),如下图:

重启Nginx
通过如下地址进行访问


http://ip:port/brs/M00/00/00/Cn4RR2...html(上图文件名)

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表