FastDFS 分布式文件系统详解 (4)

  启动 tracker 服务。

# 创建 tracker 服务器的运行数据和日志的存储父路径 mkdir -p /fastdfs/tracker # 启动 tracker 服务 service fdfs_trackerd start # 查看 tracker 服务状态 service fdfs_trackerd status # 重启 tracker 服务 service fdfs_trackerd restart # 停止 tracker 服务 service fdfs_trackerd stop

FastDFS 分布式文件系统详解

  

启动 Storage

  

  编辑 storage.conf 配置文件。

# 拷贝文件 storage.conf.sample 并重命名为 storage.conf cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf # 编辑 storage.conf 配置文件 vi /etc/fdfs/storage.conf

  配置文件中的配置项还是蛮多的,这里暂且关注以下几个即可,后期根据实际情况再对其他配置项作出调整。

# storage 组名/卷名,默认为 group1 group_name = group1 # 允许访问 storage 服务器的 IP 地址,为空则表示不受限制 bind_addr = # storage 服务器的运行数据和日志的存储父路径(需要提前创建好) base_path = /fastdfs/storage/base # storage 服务器中客户端上传的文件的存储父路径(需要提前创建好) store_path0 = /fastdfs/storage/store # storage 服务器 HTTP 协议下暴露的端口 http.server_port = 8888 # tracker 服务器的 IP 和端口 tracker_server = 192.168.10.101:22122

  

  启动 storage 服务。

# 创建 storage 服务器的运行数据和日志的存储父路径 mkdir -p /fastdfs/storage/base # 创建 storage 服务器中客户端上传的文件的存储父路径 mkdir -p /fastdfs/storage/store # 启动 storage 服务 service fdfs_storaged start # 查看 storage 服务状态 service fdfs_storaged status # 重启 storage 服务 service fdfs_storaged restart # 停止 storage 服务 service fdfs_storaged stop

FastDFS 分布式文件系统详解

  

  查看 /fastdfs/storage/store 目录可以看到 Storage 服务器创建了 65536 个文件夹用于存储客户端上传的文件。

FastDFS 分布式文件系统详解

  

Client 操作

  

  FastDFS 向使用者提供基本文件访问接口,比如 upload、download、append、delete 等,以客户端库的方式提供给用户使用。

  在 Tracker 服务器的机器上编辑 tracker.conf 配置文件。

# 拷贝文件 client.conf.sample 并重命名为 client.conf cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf # 编辑 client.conf 配置文件 vi /etc/fdfs/client.conf

  修改配置文件中以下两处内容即可。

# client 客户端的运行数据和日志的存储父路径(需要提前创建好) base_path = /fastdfs/client # tracker 服务器的 IP 和端口 tracker_server = 192.168.10.101:22122

  记得 mkdir -p /fastdfs/client 创建 Client 目录。

  

上传

FastDFS 分布式文件系统详解

选择 Tracker Server

  

  如上图所示,Storage Server 会定期向 Tracker Server 发送自己的所属 group 等存储相关信息。如果 Tracker Server 是集群环境,因为各个 Tracker 之间的关系是对等的,所以客户端上传时可以选择任意一个 Tracker。

  

选择 group

  

  当 Tracker 收到客户端上传文件的请求时,会为该文件分配一个可用的 group 用于存储,当选定了 group 以后就要决定给客户端分配 group 中的哪个 Storage Server。

FastDFS 分布式文件系统详解

  如上图所示,tracker.conf 配置文件中 group 的可选规则有:

round robin:所有的 group 间轮询

specify group:指定一个具体的 group

load balance:优先选择剩余存储空间多的 group

  

选择 Storage Server

  

  当分配好 Storage Server 以后,客户端会向 Storage Server 发送上传文件请求,Storage Server 会为文件分配一个具体的数据存储目录。

FastDFS 分布式文件系统详解

  如上图所示,storage.conf 配置文件中文件分发的可选规则有:

round robin:在 group 中的所有 Storage 间轮询

random:随机,按 hash code 分发

  

生成 file_id

  

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

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