分布式文件系统FastDFS详细教程

FastDFS分布式文件系统

分布式文件系统FastDFS详细教程

我心匪石,不可转也;我心匪席,不可卷也。

分布式文件系统

分布式文件系统 (Distributed File System) 是一个软件/服务器,这个软件可以用来管理文件;
但这个软件所管理的文件通常不是在一个服务器节点上,而是在多个服务器节点上,这些服务器节点通过网络相连构成一个庞大的文件存储服务器集群,这些服务器都用于存储文件资源,通过分布式文件系统来管理这些服务器上的文件;
常见的分布式文件系统有:FastDFS、GFS、HDFS、Lustre 、Ceph 、GridFS 、mogileFS、TFS等
在这里插入图片描述

FastDFS整体架构

1.FastDFS文件系统由两大部分构成,一个是客户端,一个是服务端;客户端通常指我们的程序,比如我们的Java程序去连接FastDFS、操作FastDFS,那我们的Java程序就是一个客户端。
2.FastDFS提供专有API访问,目前提供了 C、Java 和 PHP 几种编程语言的API,用来访问FastDFS文件系统。
3.服务端由两个部分构成:一个是跟踪器(tracker),一个是存储节点(storage)。
4.跟踪器(tracker)主要做调度工作,在访问上起负载均衡的作用,在内存中记录集群中group和storage server的状态信息,是前端Client和后端Storage server的枢纽。 因为相关信息全部在内存中,Tracker server的性能非常高,一个较大的集群(比如上百个group)中有3台就足够了。
5.存储节点(storage)用于存储文件,文件和文件属性(meta data)都保存到存储服务器上,完成文件管理的所有功能:文件存储、文件同步和提供文件存取接口等。

安装FastDFS

安装前的准备检查

1.Linux上是否安装了 gcc、libevent、libevent-devel
2.执行如下yum命令检查:yum list installed | grep gcc、yum list installed | grep libevent、yum list installed | grep libevent-devel
3.如果没有安装,则需进行安装,执行如下命令安装:
yum install gcc libevent libevent-devel -y

安装 libfastcommon 库

libfastcommon 库是 FastDFS 文件系统运行需要的公共 C 语言函数库。
1.下载地址:https://github.com/happyfish100
2.解压:tar -zxvf libfastcommon-1.0.36.tar.gz
3.切换到解压后的libfastcommon目录:cd libfastcommon-1.0.36
4.执行make脚本进行编译:./make.sh。注:如果报错,需解决错误后再次进行make,通常发生错误是由于Linux缺少某些依赖库导致,根据错误提示解决错误;
5.执行make install进行安装:./make.sh install
6.安装结束

安装FastDFS

1.下载FastDFS,下载地址:https://github.com/happyfish100/fastdfs/releases
2.解压下载下来的tar.gz包:tar -zxvf fastdfs-5.11.tar.gz
3.切换到解压后的目录:cd fastdfs-5.11
4. 执行命令:./make.sh
5.执行命令:./make.sh install
6.使用命令查看: ll /usr/bin/fdfs* ,存在文件即安装成功
7.把解压后的fastdfs-5.11/conf目录下的两个文件拷贝到/etc/fdfs/目录
cp http.conf /etc/fdfs/
cp mime.types /etc/fdfs/

配置FastDFS

1.FastDFS安装后配置文件位于/etc/fdfs/目录下,修改该目录下的配置文件
2.把/etc/fdfs/所有的.sample后缀都去掉,使用 mv 命令改文件名,去掉文件名后缀;
3.修改tracker.conf文件
在这里插入图片描述
重点:别忘记去/opt目录下创建/fastdfs/tracker文件夹
4.同理修改storage.conf文件
在这里插入图片描述重点:ip填写自己的ip,别忘记去对应目录下创建对应的文件夹
5.FastDFS 配置完成

启动、关闭、重启FastDFS

1.启动FastDFS的tracker服务,在任意目录下执行:fdfs_trackerd /etc/fdfs/tracker.conf
2.启动FastDFS的storage服务,在任意目录下执行:fdfs_storaged /etc/fdfs/storage.conf
3.查看启动进程:ps -ef | grep fdfs ,有启动的执行命令即为启动成功
4.关闭tracker执行命令,在任意目录下执行:fdfs_trackerd /etc/fdfs/tracker.conf stop
5.关闭storage执行命令,在任意目录下执行:fdfs_storaged /etc/fdfs/storage.conf stop
6.重启tracker执行命令:fdfs_trackerd /etc/fdfs/tracker.conf restart
7.重启storage执行命令:fdfs_storaged /etc/fdfs/storage.conf restart

使用FastDFS上传、删除文件

1.使用之前,需要修改/etc/fdfs/client.conf配置文件,修改两个配置:
在这里插入图片描述重点:/opt/fastdfs目录下创建client文件夹。ip填写自己ip
2. 上传:root目录下创建一个文件test.txt,执行命令: fdfs_test /etc/fdfs/client.conf upload /root/test.txt
在这里插入图片描述红框为访问路径,目前无法访问需要安装nginx。
00/00/wKhQg1w9iU6AEa4NAAAGRzSaWA8863_big.txt为文件保存路径,
去cd /opt/fastdfs/storage/data/00/00路径下会找到wKhQg1w9iU6AEa4NAAAGRzSaWA8863_big.txt文件。
3.删除:fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKhQg1w9iU6AEa4NAAAGRzSaWA8863_big.txt

修改Nginx配置,添加fastDFS模块

FastDFS提供了一个Nginx扩展模块,利用该模块,我们可以通过Nginx访问已经上传到FastDFS上的文件
1.下载fastdfs的nginx扩展模块源代码: https://codeload.github.com/happyfish100/fastdfs-nginx-module/zip/master
2.解压下载下来的fastdfs-nginx-module-master.zip 文件:unzip fastdfs-nginx-module-master.zip(:我解压在/root/soft目录下,下面会用到路径)
3.下载安装nginx,在此不多说,nginx的安装很简单。
进入nginx的解压路径下。
在这里插入图片描述看看红框中文件,在此路径下:
如果是已经安装过的nginx,执行
./configure --add-module=/root/soft/fastdfs-nginx-module-master/src
如果是刚解压还未安装的nginx,执行
./configure --prefix=/usr/local/nginx --add-module=/root/soft/fastdfs-nginx-module-master/src
4.接着执行命令:make然后执行命令make install
5.1将/root/soft/fastdfs-nginx-module-master/src目录下的mod_fastdfs.conf文件拷贝到 /etc/fdfs/目录下,这样才能正常启动Nginx
6.修改mod_fastdfs.conf配置文件
在这里插入图片描述重点:ip是自己的,去对应路径下创建文件夹。
7.配置Nginx的配置文件
查看/etc/fdfs/mod_fastdfs.conf文件
在这里插入图片描述红框改为false,下面以false 为例配置nginx
进入/usr/local/nginx/conf目录,修改nginx.conf配置文件
在这里插入图片描述

启动nginx,访问fastDFS上传的文件

1.启动nginx命令:
/usr/local/nginx_fdfs/sbin/nginx -c /usr/local/nginx_fdfs/conf/nginx.conf
2.上传一个文件进行测试验证:
fdfs_test /etc/fdfs/client.conf upload /root/test.txt
在这里插入图片描述显示如图的信息即为上传成功。访问地址为红框地址,且去除/group1
也就是将http://192.168.80.131/group1/M00/00/00/wKhQg1w9khWAaKgRAAAGRzSaWA8041_big.txt改为http://192.168.80.131/M00/00/00/wKhQg1w9khWAaKgRAAAGRzSaWA8041_big.txt
3.在这里插入图片描述访问成功

至此fastDFS教程完毕,后续会出在java客户端的使用

交流qq:2855466542

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值