分布式文件系统——fastDFS

分布式文件系统的定义

分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。可简单的理解为文件可以同时存储在不同的服务器上。

1 fastDFS概述:

fastDFS 是以C语言开发的一项开源轻量级分布式文件系统,他对文件进行管理,主要功能有:文件存储,文件同步,文件访问(文件上传/下载),特别适合以文件为载体的在线服务,如图片网站,视频网站等。
FastDFS由跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)构成。
fastDFS系统架构

1.1 Tracker server

追踪服务器负责接收客户端的请求,选择合适的组合storage server ,tracker server 与 storage server之间也会用心跳机制来检测对方是否活着。
Tracker需要管理的信息也都放在内存中,并且里面所有的Tracker都是对等的(每个节点地位相等),很容易扩展
客户端访问集群的时候会随机分配一个Tracker来和客户端交互。

1.2 Storage server

实际存储数据,分成若干个组(group),实际traker就是管理的storage中的组,而组内机器中则存储数据,group可以隔离不同应用的数据,不同的应用的数据放在不同group里面,

1.3 Client

主要是上传下载数据的服务器。

1.4 fastDFS组群

group内可进行垂直拓展(数据备份),组群文件容量为组群中的服务器容量最小值;group之间可进行水平拓展(容量拓展),总的容量为各个组群的文件容量之和。

2 文件的上传与下载

文件的上传与下载都是通过tracker server中介进行的,可简单的理解为:client向track server问询可用的存储节点,然后tracker查询管理的可用节点,将IP端口号等信息返回给client。
文件的上传
文件下载

3 fastDFS安装

(1)安装地址github源文件

(2)下载并解压 libfastcommon-master.zip 库

./make.sh
./make.sh install

(3) 下载并解压fastdfs-master.zip
同上面的步骤进行安装
(4)检测安装是否成功

./fdfs_test

出现以下界面即为安装成功
在这里插入图片描述

4 启动fastDFS

4.1 修改fastDFS配置文件

为了防止后续修改配置文件出错,备份/etc/fdfs 下的三个配置文件。

cp tracker.conf.sample tracker.conf
cp storage.conf.sample storage.con
cp client.conf.sample client.conf

修改三个备份后的配置文件,以下是一些常用的配置:
tracker.conf
bind_addr = 主机IP
port = 端口 (可使用netstat -apn |grep "端口号"查看端口是否被占用)
base_path = log目录

client.conf
base_path = log目录
tracker_server = tracker服务器IP

storage.conf
group_name = 组名,存储节点可以分组
bind_addr = 存储服务器IP
base_path = log目录
store_path_count = 存储目录个数
store_path0 = 存储目录
tracker_server = tracker服务器IP及端口

4.2 启动tracker、client、storage

fdfs_trackerd /etc/fdfs/tracker.con
fdfs_storaged /etc/fdfs/storage.conf
fdfs_monitor /etc/fdfs/client.conf

查看后台的运行的进程,若出现fdfs_trackerd /etc/fdfs/tracker.conf和fdfs_storaged /etc/fdfs/storage.conf两条command相关的进程则表明运行成功,结果图下图所示:
在这里插入图片描述
在这里插入图片描述

4.3 文件上传操作

fdfs_upload_file /etc/fdfs/client.conf examples.desktop #examples.desktop是要上传的文件

成功后返回:group1/M00/00/00/wKhvgl7U4rqAZC37AAAjFBk-1FU4291297
其中wKhvgl7U4rqAZC37AAAjFBk-1FU4291297是编码算法返回的文件代码
之后我们进入前面前面storage.conf配置文件中指定的文件存储路径:
在这里插入图片描述
可发现相同的字符串,它表示的就是我们前面上传的文件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值