FastDFS配置测试

279 阅读3分钟

FastDFS

传统文件系统和分布式文件系统对比

传统文件系统:

客户端直接连接文件系统,如果连接服务不可用,那就不能进行文件的上传下载。如果磁盘损坏,就会丢失所有文件。而且存储的空间十分有限,很容易达到磁盘上限。

image-20221118105644895.png

分布式文件系统:

解决传统文件系统的单点问题,一个节点出现问题,其余节点还可以正常使用。提供数据的备份,分布式文件系统可以直连备份系统。提供库的扩容机制,无限增加文件存放容量。

image-20221118105703107.png

FastDFS整体架构

FastDFS整体由两个部分构成,一个是客户端,一个是服务端。

客户端例如:使用java程序连接操作FastDFS,java程序就是客户端

服务端:由两个部分组成,一个是跟踪器(tracker),一个是存储节点(storage)

跟踪器(tracker):用于调度工作。记录存储节点(storage)上的状态信息。

从存储节点(storage):用于文件的存储。提供文件的备份、同步、操作(上传,下载,删除)。

FastDFS环境配置

FastDFS是安装在linux环境下的。安装的时候,有很多连续依赖,请按照以下步骤操作。

#安装c++环境
yum -y install gcc-c++
#安装libevent依赖
yum -y install libevent

libfastcommon 运行所需要的公共C语言函数库

windows环境下载FastDFS运行所需要的公共C语言函数库

注:目前最新版本的v1.0.39和最新版的FastDFS5.11不兼容,所有我们这里使用的版本是v1.0.38

下载地址:github.com/happyfish10…

通过XFTP上传到linux系统,(/home/soft)

并在当前文件夹内解压

tar -zxvf libfastcommon-1.0.38.tar.gz 
#进入解压后的文件夹
cd libfastcommon-1.0.38/
#执行make脚本进行编译
./make.sh
#执行make install进行安装
./make.sh install

至此 libfastcommon 库安装完毕。

安装FastDFS

下载地址:github.com/happyfish10…

通过XFTP上传到linux系统(/home/soft)

并在当前文件夹内解压

tar -zxvf fastdfs-5.11.tar.gz
#进入解压后的文件夹
cd fastdfs-5.11/
#执行make脚本进行编译
./make.sh
#执行make install进行安装
./make.sh install

至此FastDFS安装完成

所有编译出来的文件存放在/usr/bin目录下

所有配置文件存放在/etc/fdfs目录下

#进入/home/soft/fastdfs-5.11/conf
cd /home/soft/fastdfs-5.11/conf
#拷贝两个文件到/etc/fdfs/
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/
#进入/etc/fdfs
cd /etc/fdfs
#去掉/etc/fdfs/目录下FastDFS配置文件的后缀名
mv client.conf.sample client.conf
mv storage.conf.sample storage.conf
mv storage_ids.conf.sample storage_ids.conf
mv tracker.conf.sample tracker.conf

修改tracker.conf文件

vim tracker.conf

默认的文件仓库不存在,所以我们要自己修改成自己的目录

image-20221118145654576.png 修改storage.conf文件

vim storage.conf

image-20221118151059025.png

image-20221118150918991.png

创建上面指定的路径的文件夹

cd /opt
mkdir fastdfs
cd fastdfs/
mkdir tracker
mkdir storage
cd storage/
mkdir files

启动FastDFS

在任意目录下执行:

fdfs_trackerd /etc/fdfs/tracker.conf
fdfs_storaged /etc/fdfs/storage.conf
#查看启动进程
ps -ef | grep fdfs

image-20221118152028593.png

#查看storage是否已经注册到了tracker下
fdfs_monitor /etc/fdfs/storage.conf

image-20221118152954278.png

重启或者关闭FastDFS

#重启tracker
fdfs_trackerd /etc/fdfs/tracker.conf restart
#重启storage
fdfs_storaged /etc/fdfs/storage.conf restart
​
#关闭tracker
fdfs_trackerd /etc/fdfs/tracker.conf stop
#关闭storage
fdfs_storaged /etc/fdfs/storage.conf stop
​
#或者查看启动进程
ps -ef | grep fdfs
#使用kill关闭进程
kill -9 xxxxx

不建议使用kill强制关闭fastdfs,可能会导致文件信息不同步的问题

FastDFS测试

修改client.conf配置文件

cd /etc/fdfs/
vim client.conf
​
#修改后:
#base_path=/opt/fastdfs/client
#tracker_server=192.168.42.136:22122  #192.168.42.136是本机ip

image-20221118154608885.png

创建相应的文件夹

cd /opt/fastdfs/
mkdir client

image-20221118155018945.png

#进行上传测试
fdfs_test /etc/fdfs/client.conf upload /root/muyu.jpg

image-20221118162824065.png

#文件查看
cd /opt/fastdfs/storage/files/data/00/00/

image-20221118162837040.png

#文件删除
#fdfs_delete_file /etc/fdfs/client.conf group1/要删除的文件路径#删除主文件
fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgqiGN3QSGAJGbcAAAQkCG6ohI525.jpg
#删除从文件
fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgqiGN3QSGAJGbcAAAQkCG6ohI525_big.jpg

image-20221118163207652.png