FasterDFS的安装配置
发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,基本概述FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能通过专有API对文件进行存取访问,不支持POSIX接
千家信息网最后更新 2025年02月07日FasterDFS的安装配置基本概述
基本概述
FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能通过专有API对文件进行存取访问,不支持POSIX接口方式,不能mount使用。准确地讲,Google FS以及FastDFS、mogileFS、HDFS、TFS等类Google FS都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。
FastDFS集群中的Tracker server也可以有多台,Tracker server和Storage server均不存在单点问题。Tracker server之间是对等关系,组内的Storage server之间也是对等关系。传统的Master-Slave结构中的Master是单点,写操作仅针对Master。如果Master失效,需要将Slave提升为Master,实现逻辑会比较复杂。和Master-Slave结构相比,对等结构中所有结点的地位是相同的,每个结点都是Master,不存在单点问题。
基本结构图
在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。
基本实验部署
1、实验准备
名称 | 角色 | IP地址 |
---|---|---|
centos7-1 | tracker | 192.168.45.135 |
centos7-2 | storage+nginx | 192.168.45.132 |
实验软件包提取码
链接:https://pan.baidu.com/s/1_Xs09mdST6VNLue11dqhyQ
提取码:9ql5
2、开始安装
修改两台服务器的名称
一台改为tracker,一台改为storage
hostnamectl set-hostname tracker storagesu
安装基本环境包
yum -y install libevent libevent-devel perl make gcc zlib zlib-devel pcre pcre-devel gcc-c++ openssl-devel
安装libfastcommon服务(所有节点均进行安装)
mount.cifs //192.168.100.3/lzp /mnt#安装libfastcommon服务cd /mnt/fastDFS/tar zxvf libfastcommon-1.0.39.tar.gz -C /optcd /opt/libfastcommon-1.0.39/#编译安装并建立软链接以方便系统识别./make.sh && ./make.sh installln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.soln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.soln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
安装FastDFS服务(所有节点均进行安装)
cd /mnt/fastDFS/tar zxvf fastdfs-5.11.tar.gz -C /opt#编译安装cd /opt/fastdfs-5.11/./make.sh && ./make.sh install cd /etc/fdfs/cp tracker.conf.sample tracker.confcp storage.conf.sample storage.confcp client.conf.sample client.conf
tracker监控配置
# 建立数据文件、日志文件存放目录[root@tracker ~]# mkdir -m 755 -p /opt/fastdfs修改tracker配置文件[root@tracker ~]# vim /etc/fdfs/tracker.conf#修改以下配置#port=22122 //tracker服务默认端口22122即可base_path=/opt/fastdfs //22行tracker存储data和log的跟路径,必须提前创建好tracker存储data和log的跟路径,必须提前创建好#http.server_port=8080 //tracker服务器上启动http服务进程,没装忽略#开启服务fdfs_trackerd /etc/fdfs/tracker.conf start#设置开机自启[root@tracker ~]# vim /etc/rc.local#末行添加fdfs_trackerd /etc/fdfs/tracker.conf start #关闭防火墙和安全功能[root@tracker ~]# systemctl stop firewalld[root@tracker ~]# setenforce 0
storage服务端修改
#建立数据文件、日志文件存放目录[root@storage ~]# mkdir -m 755 -p /opt/fastdfs修改storage配置文件[root@storage ~]# vim /etc/fdfs/storage.conf#修改以下配置group_name=group1 //默认组名,根据实际情况修改port=23000 //storge默认23000,同一个组的storage端口号必须一致base_path=/opt/fastdfs //storage日志文件的根路径store_path_count=1 //与下面路径个数相同,默认为1store_path0=/opt/fastdfs //109提供的存储路径(默认与日志文件存放在一起)tracker_server=192.168.45.135:22122 //自己的tracker服务器IP(重点!!!)http.server_port=80 //http访问文件的端口默认为8888,nginx中配置的监听端口保持一致开启服务并设置开机自启#开启服务(命令支持start|stop|restart)[root@storage ~]# fdfs_storaged /etc/fdfs/storage.conf start[root@storage ~]# netstat -atnp | grep 23000tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 40430/fdfs_storaged#设置开机自启[root@storage ~]# vim /etc/rc.local#末行添加fdfs_storaged /etc/fdfs/storage.conf start [root@storage ~]# systemctl stop firewalld[root@storage ~]# setenforce 0检查是否与tracker监控端关联成功fdfs_monitor /etc/fdfs/storage.conf
安装nginx服务(storage:192.168.45.132)
这里为了减少虚拟机开启的数量,就在storage端进行nginx的安装
cd /mnt/fastDFS/[root@storage fastDFS]# tar zxvf nginx-1.12.0.tar.gz -C /opt tar zxvf fastdfs-nginx-module-1.20.tar.gz -C /opt# 修改/opt/fastdfs-nginx-module-1.20/src/config文件 [root@storage fastDFS]# vim /opt/fastdfs-nginx-module-1.20/src/configngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"#编译安装cd /opt/nginx-1.12.0/[root@storage nginx-1.12.0]# ./configure \--prefix=/usr/local/nginx \--add-module=/opt/fastdfs-nginx-module-1.20/src/make && make installcd /opt/fastdfs-nginx-module-1.20/srccp mod_fastdfs.conf /etc/fdfs/ #修改fastdfs-nginx-module模块配置文件mod-fasts.conf[root@storage nginx-1.12.0]# cd /etc/fdfs[root@storage fdfs]# vim mod_fastdfs.conf#检查一下配置base_path=/opt/fastdfs //存放数据文件、日志的路径tracker_server=192.168.45.135/:22122 //tracker端的地址(重点!!!)url_have_group_name = true //url是否包含group名称storage_server_port=23000 //需要和storage配置的相同store_path_count=1 //存储路径个数,需要和store_path个数匹配store_path0=/opt/fastdfs //62行文件存储的位置#修改nginx配置文件[root@storage fdfs]# vim /usr/local/nginx/conf/nginx.conf#server中空行处添加location ~/M00 { root /opt/fastdfs/data; ngx_fastdfs_module;}#创建软链接[root@localhost ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/#检车nginx配置文件[root@localhost ~]# nginx -tnginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful#启动nginx[root@localhost ~]# nginx#拷贝fastdfs解压目录中的http.conf和mime.types不做这步可能会导致报错[root@storage fdfs]# cd /opt/fastdfs-5.11/conf/[root@storage conf]# cp mime.types http.conf /etc/fdfs/
修改storage端
#修改配置文件[root@storage ~]# vim /etc/fdfs/client.conf#检查以下配置base_path=/opt/fastdfs //tracker服务器文件路径tracker_server=192.168.45.135:22122 //tracker服务器IP地址和端口号http.tracker_server_port=8080 // tracker服务器的http端口号,必须和
上传测试文件命令:
/usr/bin/fdfs_upload_file <config_file> <local_filename>
命令演示:
[root@localhost mnt]# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf 1.jpggroup1/M00/00/00/wKgthF4AKVmAY9WYABIrwU4wXNs537.jpg
下载文件命令:
/usr/bin/fdfs_download_file <config_file> <file_id> [local_filename]
示例
/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKiOTV354W2AIf7GAAAAEh4TEws726.jpg test2.jpg**
删除文件命令:
/usr/bin/fdfs_delete_file <config_file> <file_id>
实例:
fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKiOTV354W2AIf7GAAAAEh4TEws726.jpg
文件
服务
配置
服务器
路径
系统
存储
命令
日志
结构
相同
个数
分布式
口号
名称
地址
数据
目录
端口
链接
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
计算机软件开发去哪里学
游戏软件开发专家系列
连云港网络安全类型
用户登录提示休眠更改数据库
数据库技术与数据仓库
女生真的适合学软件开发吗
重庆拍拍网络技术有限公司
中国平安上海科技互联网公司
大连市网络安全宣传周视频
php创建数据库代码
对网络安全诸多要素的认识
软件开发培训排行
吕伟网络安全
吉林省码上互联网科技有限公司
数据库用的什么机械硬盘
绿色信贷的数据万德数据库
网络技术应用 知识
百口泉收费站网络安全制度
黄浦区特定网络技术开发质量保障
数据库触发器的类型
如何讲网络安全ppt
服务器常见的安全问题
服务器机房装修动画演示
神思电子有网络安全概念
程序如何创建数据库储存数据
福建电商外贸软件开发
中国人社网络安全知识
网易怀旧服服务器跨服更新
公司管理软件开发需要学什么
网络安全保障宣传语