阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

FastDFS文件管理系统安装配置

145次阅读
没有评论

共计 4860 个字符,预计需要花费 13 分钟才能阅读完成。

一.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:客户端,上传下载数据的服务器,也就是我们自己的项目所部署在的服务器。

FastDFS 文件管理系统安装配置

存储节点 Storage 采用了分卷[Volume](或分组[group])的组织方式,存储系统由一个或多个组组成,组与组之间的文件是相互独立的,所有组的文件容量累加就是整个存储系统中的文件容量。

一个卷[Volume](组[group])可以由一台或多台存储服务器组成,一个组中的存储服务器中的文件都是相同的,组中的多台存储服务器起到了冗余备份和负载均衡的作用,数据互为备份,存储空间以 group 内容量最小的 storage 为准,所以建议 group 内的多个 storage 尽量配置相同,以免造成存储空间的浪费。

二. 操作环境

操作系统:CentOS 6.5

IP:192.168.200.101

三. 下载安装 FastDFS

1. 安装相关依赖包

[root@linuxidc.com ~]# yum -y install unzip zip  gcc-c++

2. 下载安装 libfastcommon(公共 C 函数库)

[root@linuxidc.com ~]# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz

[root@linuxidc.com ~]# mkdir /softpackages

[root@linuxidc.com ~]# tar xf V1.0.7 -C /softpackages/

[root@linuxidc.com ~]# cd /softpackages/libfastcommon-1.0.7/

[root@linuxidc.com libfastcommon-1.0.7]# ./make.sh && ./make.sh install

libfastcommon.so 安装到了 /usr/lib64/libfastcommon.so,但是 FastDFS 主程序设置的 lib 目录是 /usr/local/lib,所以需要创建软链接。

[root@linuxidc.com libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

[root@linuxidc.com libfastcommon-1.0.7]# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

[root@linuxidc.com libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

[root@linuxidc.com libfastcommon-1.0.7]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

3. 下载安装 FastDFS

wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

[root@linuxidc.com libfastcommon-1.0.7]# cd /softpackages/

[root@linuxidc.com softpackages]# wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

[root@linuxidc.com softpackages]# ls

libfastcommon-1.0.7  V5.05

[root@linuxidc.com softpackages]# tar xf V5.05

[root@linuxidc.com softpackages]# cd fastdfs-5.05/

[root@linuxidc.com fastdfs-5.05]# ./make.sh && ./make.sh install

默认安装方式安装后的相应文件与目录:

服务脚本:/etc/init.d/fdfs_storaged

              /etc/init.d/fdfs_tracker

配置文件:

/etc/fdfs/client.conf.sample

/etc/fdfs/storage.conf.sample

/etc/fdfs/tracker.conf.sample

4. 配置 FastDFS 跟踪器(Tracker)

[root@linuxidc.com fastdfs-5.05]# cd /etc/fdfs/

[root@linuxidc.com fdfs]# cp tracker.conf.sample tracker.conf

修改 tracker.conf 配置文件

[root@linuxidc.com fdfs]# vim tracker.conf

Tracker 数据和日志目录地址(根目录必须存在, 子目录会自动创建)

FastDFS 文件管理系统安装配置

FastDFS 文件管理系统安装配置

创建 tracker 基础数据目录,即 base_path 对应的目录(用于存储 tracker 的数据文件和日志文件等)

[root@linuxidc.com fdfs]# mkdir -p /home/chenjiaxin/fastdfs

为启动脚本创建软引用,因为 fdfs_trackerd 等命令在 /usr/local/bin 中并没有,而是在 /usr/bin 路径下

[root@linuxidc.com fdfs]# ln -s /usr/bin/fdfs_trackerd  /usr/local/bin

[root@linuxidc.com fdfs]# ln -s /usr/bin/stop.sh  /usr/local/bin

[root@linuxidc.com fdfs]# ln -s /usr/bin/restart.sh  /usr/local/bin

启动服务

[root@linuxidc.com fdfs]# /etc/init.d/fdfs_trackerd start

Starting FastDFS tracker server:

查看端口

[root@linuxidc.com fdfs]# netstat -antp|grep fdfs

tcp        0      0 0.0.0.0:22122              0.0.0.0:*                  LISTEN      15181/fdfs_trackerd

设置开机启动

[root@linuxidc.com fdfs]# chkconfig fdfs_trackerd on

5. 配置 FastDFS 存储 (Storage)

创建 Storage 服务器的文件目录,注意同 Tracker 相比要多建一个目录,因为 Storage 还需要一个文件存储路径,用于存放接收的文件:

[root@linuxidc.com fdfs]# mkdir /opt/fastdfs_storage

[root@linuxidc.com fdfs]# mkdir /opt/fastdfs_storage_data

[root@linuxidc.com fdfs]# cp storage.conf.sample storage.conf

修改 storage.conf 配置文件:

[root@linuxidc.com fdfs]# vim storage.conf

# 设置 storage 数据文件和日志目录
base_path=/opt/fastdfs_storage

# 实际文件存储路径
store_path0=/opt/fastdfs_storage_data

# 存储路径个数,需要和 store_path 个数匹配
store_path_count=1

#tracker 服务器的 IP 地址和端口号,如果是单机搭建,IP 不要写 127.0.0.1,否则启动不成功
tracker_server=192.168.200.101 :22122

# 设置 http 端口号
http.server_port=8888

配置完成后同样要为 Storage 服务器的启动脚本设置软引用:

[root@linuxidc.com fdfs]# ln -s /usr/bin/fdfs_storaged /usr/local/bin

[root@linuxidc.com fdfs]# /etc/init.d/fdfs_storaged start

Starting FastDFS storage server:

查看是否有 23000,22122,两个端口

[root@linuxidc.com fdfs]# netstat -nulpt | grep fdfs

tcp        0      0 0.0.0.0:23000              0.0.0.0:*                  LISTEN      15228/fdfs_storaged

tcp        0      0 0.0.0.0:22122              0.0.0.0:*                  LISTEN      15181/fdfs_trackerd

设置开机启动

[root@linuxidc.com fdfs]#chkconfig fdfs_storaged on

查看:storage 服务器是否已经登记到 tracker 服务器

[root@linuxidc.com fdfs]# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

Storage 1:

            id = 192.168.200.101

            ip_addr = 192.168.200.101 (bogon)  ACTIVE

看到 192.168.200.101 ACTIVE 证明成功登记到了 tracker 服务器

现在已经完成 fastdfs 的全部配置!

四. 文件上传测试

1. 修改 track 客户端配置文件

[root@linuxidc.com fdfs]# cp client.conf.sample client.conf

[root@linuxidc.com fdfs]# vim client.conf

FastDFS 文件管理系统安装配置

FastDFS 文件管理系统安装配置

[root@linuxidc.com fdfs]# mkdir -p /home/a/fastdfs

2. 上传文件

[root@linuxidc.com ~]# cd /opt/fastdfs_storage/data/

[root@linuxidc.com data]# ls

fdfs_storaged.pid  storage_stat.dat

Penguins.jpg      sync

[root@linuxidc.com data]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf Penguins.jpg

group1/M00/00/00/wKjIZVr6ZLqAD2P2AAvea_OGt2M341.jpg

上传成功后返回文件 ID 号:

group1/M00/00/00/wKjIZVr6ZLqAD2P2AAvea_OGt2M341.jpg

返回的文件 ID 由 group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成。

FastDFS 文件管理系统安装配置

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计4860字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中