FastDFS分布式文件系统部署

FastDFS分布式文件系统

简介

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。存储节点存储文件,完成文件管理的所有功能:就是这样的存储、同步和提供存取接口,FastDFS同时对文件的metadata进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value)方式表示,如:width=1024,其中的key为width,value为1024。文件metadata是文件属性列表,可以包含多个键值对。跟踪器和存储节点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加卷。只需要增加一台或多台服务器,并将它们配置为一个新的卷,这样就扩大了存储系统的容量。FastDFS中的文件标识分为两个部分:卷名和文件名,二者缺一不可。

部署

1.安装前的准备

规划:2个storage节点,1个tracker节点

检查 Linux 上是否安装了 gcc、libevent、libevent-devel

yum list installed | grep gcc

yum list installed | grep libevent

yum list installed | grep libevent-devel

如果没有安装,则需进行安装

yum install gcc libevent libevent-devel -y

2.安装 libfastcommon 库(这里我们使用的是1.0.57版本)
libfastcommon 库是 FastDFS 文件系统运行需要的公共 C 语言函数库
下载地址:https://github.com/happyfish100/libfastcommon/archive/refs/tags/V1.0.57.zip
解压下载下来的压缩包到当前目录
unzip libfastcommon-1.0.57.zip
编译解压的文件 这里需要gcc环境

./make.sh

安装编译后的文件

./make.sh install

完成

3.安装FastDFS
下载地址:https://github.com/happyfish100/fastdfs/archive/refs/tags/V6.08.zip
unzip fastdfs-6.08.zip
编译解压的文件 和 安装编译的文件

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

完成
检查是否安装了 (安装后命令会存在/usr/bin)

ls /usr/bin | grep fdfs

4.查看 FastDFS 配置文件
安装FastDFS后配置文件存放在 /etc/fdfs 下;注:另外注意需要把之前解压的fastdfs-6.0.8/conf目录下的两个文件拷贝到安装后产生的/etc/fdfs/目录下 ,否则后续会有很多奇怪问题不好解决  http.conf 和 mime.types

cp /root/fastdfs-6.07/conf/http.conf /etc/fdfs

cp /root/fastdfs-6.07/conf/mime.types /etc/fdfs

5.FastDFS的配置 /etc/fdfs/xx.conf
要想运行我们的FastDFS服务,我们得配置我们必要的信息,启动tracker服务则需要配置tracker.conf,启动storage服务也需要配置对应文件
(1):负载均衡 tracker.conf 配置文件的配置修改
配置 tracker 存储数据的目录(自定义配置后期tracker产生的数据和日志保存的地方)
配置:base_path = /data/fastdfs/tracker  注意设置的路径我们必须要手动创建

(2):文件存储服务器 storage.conf 配置文件的配置修改
配置 storage.conf 是指定后期运行产生的数据和真实的文件存储位置,注意设置的路径我们必须手动创建
配置storage存储数据的目录:base_path = /data/fastdfs/storage
配置真正存放文件的目录:  store_path0=/data/fastdfs/storage/files
配置当前存储节点的跟踪器地址(就是tracker):tracker_server=xxxx:22122
创建我们之前在配置里指定的一些路径
必须创建,否则无法启动

mkdir -p /data/fastdfs/tracker

mkdir -p /data/fastdfs/storage

mkdir -p /data/fastdfs/storage/files

6.启动FastDFS服务
我们修改好配置后,并且在配置文件配置的文件路径也被我们手动创建后就可以来启动服务了
启动 Tracker 追踪器服务

fdfs_trackerd /etc/fdfs/tracker.conf

启动 Storage 存储服务器服务

fdfs_storaged /etc/fdfs/storage.conf

重启

fdfs_trackerd /etc/fdfs/tracker.conf restart

fdfs_storaged /etc/fdfs/storage.conf restart

关闭

fdfs_trackerd /etc/fdfs/tracker.conf stop

fdfs_storaged /etc/fdfs/storage.conf stop

(1):查询tracker文件下是否被自动创建了data 和 log 文件

ls /data/fastdfs/tracker/

(2):查询storage文件下是否自动创建了data 和 log 和files具体文件路径

ls /data/fastdfs/storage/

ls /data/fastdfs/storage/file

7.FastDFS测试上传、删除
我们完成了上面的配置后并且也可以运行服务后,我们就可以来测试我们的FastDFS是否存在问题了,在测试前我们需要配置一个 /etc/fdfs/client.conf 的文件
配置client存储数据的目录:base_path = /data/fastdfs/client  注:别忘了把文件夹创建出来
配置当前存储节点的跟踪器地址(就是tracker):tracker_server=xxxx:22122
我们要使用测试则需要使用到 fdfs_test 命令来完成测试
fdfs_test /etc/fdfs/client.conf upload 上传的文件名称
命令执行后会返回file的返回路径

8.nginx集成fastdfs扩展
下载地址:https://github.com/happyfish100/fastdfs-nginx-module/archive/refs/tags/V1.22.zip
安装Nginx环境检查:
gcc编译器是否安装
检查是否安装:yum list installed | grep gcc
执行安装:yum install gcc -y
openssl库是否安装
检查是否安装:yum list installed | grep openssl
执行安装:yum install openssl openssl-devel -y
pcre库是否安装
检查是否安装:yum list installed | grep pcre
执行安装:yum install pcre pcre-devel -y
zlib库是否安装
检查是否安装:yum list installed | grep zlib
执行安装:yum install zlib zlib-devel -y
全安装:

yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel –y

解压:fastdfs-nginx-module-1.22.tar.gz
tar -zxvf fastdfs-nginx-module-1.22.tar.gz
解压:nginx-1.19.6.tar.gz
tar -zxvf nginx-1.19.6.tar.gz
进入:nginx-1.19.6
cd nginx-1.19.6/
安装前配置(记得加入其它常用模块)
./configure --prefix=/usr/local/nginx_fdfs --add-module=/root/fastdfs-nginx-module-1.22/src --prefix:指定准备安装到哪  --add-module:指定集成的fdfs模块
编译 && 安装
make && make install


标题:FastDFS分布式文件系统部署
作者:LeeOcean
地址:https://www.leiocean.com/articles/2023/02/20/1676861070761.html

    评论
    0 评论
avatar

取消