千家信息网

分布式文件系统fastDFS部署

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,一、部署环境:(CentOS 6.9)tracker server:10.10.1.105storage server:10.10.1.106 10.10.1.107client:10.10.1.10
千家信息网最后更新 2024年11月17日分布式文件系统fastDFS部署

一、部署环境:(CentOS 6.9)

tracker server:10.10.1.105

storage server:10.10.1.106 10.10.1.107

client:10.10.1.105


二、FastDFS: 开源的轻量级分布式文件系统;

三个角色:

tracker server :跟踪服务器,调度,在内存中记录所有存储组和存储服务器的状态信息; tracker.conf

storage server :存储服务器,文件(data)和文件属性(metadata),一组服务器; storage.conf

client :客户端,业务请求发起方,通过专用接口基于TCP协议与tracker以及storage server进行交互;client.conf

存储:

group_name/M##/&&/&&/file_name

group_name :存储组的组名;上传完成后,需要客户端自行保存;

M## :服务器配置的虚拟路径,与磁盘选项store_path#对应;

两级以两位16进制数字名字的目录;

文件名:与原文件名并不相同;由storage server根据特定信息生成,文件名包含:源存储服务器的IP地址、文件创建时间戳、文件大小、随机数和文件扩展名等;


三、安装

1、安装依赖包libfastcommon

2、安装fastDFS

3、需要关闭iptables、selinux

安装方式一:

# git clone https://github.com/happyfish200/fastdfs.git

# git clone https://github.com/happyfish200/libfastcommon.git

# git clone https://github.com/happyfish200/fastdfs-nginx-module.git


mv libfastcommon libfastcommon-1.0.36

tar zcf libfastcommon-1.0.36.tar.gz libfastcommon-1.0.36

mv fastdfs fastdfs-5.0.10

tar zcf fastdfs-5.0.10.tar.gz fastdfs-5.0.10


mkdir rpmbuild/{SOURCES,SPECS} -pv

cp /tools/libfastcommon-1.0.36.tar.gz rpmbuild/SOURCES/

cp /tools/fastdfs-5.0.10.tar.gz rpmbuild/SOURCES/


cp /tools/libfastcommon-1.0.36/libfastcommon.spec rpmbuild/SPECS/

cp /tools/fastdfs-5.0.10/fastdfs.spec rpmbuild/SPECS/


yum install rpm-build

rpmbuild -ba libfastcommon.spec

rpmbuild -ba fastdfs.spec

生成rpm包直接安装即可

安装方式二:

tar xzf libfastcommon_v1.23.tar.gz

cd libfastcommon

./make.sh

./make.sh install


tar xzf FastDFS_v5.08.tar.gz

cd FastDFS

./make.sh

./make.sh install


tracker和storage配置完成后测试上传:


# fdfs_upload_file ./client.conf /usr/share/backgrounds/centos_2048x1536_logoonly.jpg

group1/M00/00/00/CgoBalkG2PmAThTWAAD_7aV8rDY985.jpg


四、安装fastdfs-nginx-module模块,通过http协议访问文件

注:以下两个文件需要复制到storage的目录

cp fastdfs-5.0.10/conf/{http.conf,mime.types} /etc/fdfs/


安装此模块需要重新编译nginx

1、./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_sub_module --add-module=/root/soft/fastdfs-nginx-module/src


2、nginx.conf 文件加入以下配置

location ~ /group[0-9]+/M00 {

root /home/fastdfs/data;

ngx_fastdfs_module;

}

3、ln -s /home/fastdfs/data /home/fastdfs/data/M00


4、配置mod_fastdfs.conf文件

cp /root/soft/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

mod_fastdfs.conf重点配置项:

tracker_server=10.10.1.105:22122

url_have_group_name = true ***开启组名访问

group_count = 1

[group1]

group_name=group1

storage_server_port=23000

store_path_count=1

store_path0=/home/fastdfs

5、重载nginx服务器

以组名访问时:

location ~ /group[0-9]+/M00 {

root /home/fastdfs/data;

ngx_fastdfs_module;

}

https://cache.yisu.com/upload/information/20200309/32/49826.jpg


0