用asp.net core结合fastdfs打造分布式文件存储系统

最近被安排开发文件存储微服务,要求是能够通过配置来无缝切换我们公司内部研发的文件存储系统,FastDFS,MongDb GridFS,阿里云OSS,腾讯云OSS等。根据任务紧急度暂时先完成了通过配置来无缝切换内部文件系统以及FastDFS。至于MongDb GridFS,阿里云OSS,腾讯云OSS等则后期需要的话再开发对应的提供者程序集合。

作者:依乐祝
首发公众号:DotNetCore实战
原文链接: https://www.cnblogs.com/yilezhu/p/12797543.html

今天主要是对开发过程,以及对FastDFS这个通用的分布式文件存储服务的单机及集群安装部署过程做个总结。希望对想要自建分布式文件系统的朋友有所帮助。

什么是FastDFS

这里先简单介绍下分布式文件存储系统。
FastDFS 是一个开源的高性能分布式文件系统(DFS)。 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡。主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。
FastDFS 系统有三个角色:跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)。
  Tracker Server:跟踪服务器,主要做调度工作,起到均衡的作用;负责管理所有的 storage server和 group,每个 storage 在启动后会连接 Tracker,告知自己所属 group 等信息,并保持周期性心跳。
  Storage Server:存储服务器,主要提供容量和备份服务;以 group 为单位,每个 group 内可以有多台 storage server,数据互为备份。
  Client:客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。

用asp.net core结合fastdfs打造分布式文件存储系统

FastDFS开源地址:https://github.com/happyfish100

FastDFS的单机版安装

这里先简单介绍下单机版的安装,跟着做你也可以从0还是搭建一个单机版的FastDFS。集群版也是在单机版基础上安装的。

第一步 安装相关工具

如果已经安装和wget可以跳过这一步

yum -y install vim wget unzip

-y:不经过询问直接同意所有操作
vim:linux上面一个比较好用的文本编辑软件
wget:linux上文件下载工具

第二步 安装相关依赖 yum install -y gcc-c++ perl 第三步 安装libfastcommon

大家可以直接到github上面先找到ibfastcommon。这里为了大家方便查找。我已经把把链接给大家整理好了
libfastcommon
这里大家可以先下载到本地,然后再传至服务器上面。这里我使用的是FinalShell。具体操作就不在这里详细说了。
这里目录为:/root/fastdfs/
下载下来的是zip格式压缩包,然后,我们解压zip

unzip libfastcommon-master.zip

进入到刚刚解压的文件里面

cd libfastcommon-master/

进行编译安装

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

image.png


如上图所示表示安装成功!

第四步 安装FastDFS

同样这里我用的也是github上面的FastDFS。为此,我已经帮大家把相关的链接整理到下方了
fastdfs
这里可以使用像上面libfastcommon一样的方式,先下载到自己的电脑上面,再上传至服务器。
目录为:/root/fastdfs/
下面我们先进行解压

unzip fastdfs-master.zip

进入上面的解压目录,然后编译安装

./make.sh && ./make.sh install 第五步 修改配置文件

切换到配置文件目录下

cd /etc/fdfs/

查看所有配置文件
使用ls命令就行了

用asp.net core结合fastdfs打造分布式文件存储系统


去除所有的.sample后缀

cp client.conf.sample client.conf cp storage.conf.sample storage.conf cp storage_ids.conf.sample storage_ids.conf cp tracker.conf.sample tracker.conf

我们再次使用ls命令查看

用asp.net core结合fastdfs打造分布式文件存储系统


可以看到我们已经去除了所有的.sample后缀
下一步,创建文件夹,分别创建client,storage,tracker文件夹

mkdir -p /home/software/fastfdfs/data/client mkdir -p /home/software/fastfdfs/data/storage mkdir -p /home/software/fastfdfs/data/tracker client.config配置

下面我们开始配置文件修改,首先修改的是clietn.conf,使用vim编辑器进行文件的编辑

vim client.conf

使用 :set number 显示行数
修改第11行,确定日志文件的存储路径,这里用我们刚刚创建client文件夹路径

base_path = /home/software/fastdfs/data/client

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpswjd.html