FastDFS的安装配置步骤
发表于:2024-12-12 作者:千家信息网编辑
千家信息网最后更新 2024年12月12日,一、简介FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能通过专有API对文件进行存取访问,不支持POSIX接
千家信息网最后更新 2024年12月12日FastDFS的安装配置步骤
一、简介
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,不存在单点问题。
二、基本部署步骤
一、实验准备
centos7-1 : tracker 192.168.142.66
centos7-2 : storage+nginx 192.168.142.77
二、开始安装
(1)安装libfastcommon服务(所有节点均进行安装)
安装基础环境包yum -y install libevent libevent-devel perl make gcc zlib zlib-devel pcre pcre-devel gcc-c++ openssl-devel安装libfastcommon[root@storage ~]# wget https://github.com/happyfish200/libfastcommon/archive/V1.0.38.tar.gz[root@storage ~]# tar zxf V1.0.38.tar.gz -C /opt/[root@storage ~]# cd /opt/libfastcommon-1.0.38/编译并建立软链接以方便系统识别[root@storage libfastcommon-1.0.38]# ./make.sh && ./make.sh install[root@storage libfastcommon-1.0.38]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so[root@storage libfastcommon-1.0.38]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so[root@storage libfastcommon-1.0.38]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
(2)安装FastDFS服务(所有节点均进行安装)
下载安装[root@storage ~]# wget https://github.com/happyfish200/fastdfs/archive/V5.11.tar.gz[root@storage ~]# tar zxf V5.11.tar.gz -C /opt/[root@storage ~]# cd /opt/fastdfs-5.11/编译[root@storage fastdfs-5.11]# ./make.sh && ./make.sh install将模板文件进行更改[root@storage fastdfs-5.11]# cd /etc/fdfs/ //配置文件模板路径[root@storage fdfs]# cp tracker.conf.sample tracker.conf[root@storage fdfs]# cp storage.conf.sample storage.conf[root@storage fdfs]# cp client.conf.sample client.conf
(3)tracker监控端配置
建立数据文件、日志文件存放目录mkdir -m 755 -p /opt/fastdfs修改tracker配置文件[root@tracker ~]# vim /etc/fdfs/tracker.conf#修改以下配置port=22122 //tracker服务默认端口22122即可base_path=/opt/fastdfs //tracker存储data和log的跟路径,必须提前创建好http.server_port=8080 //tracker服务器上启动http服务进程,没装忽略开启服务[root@tracker ~]# fdfs_trackerd /etc/fdfs/tracker.conf start[root@tracker ~]# netstat -atnp | grep 22122tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 43776/fdfs_trackerd[root@tracker ~]# systemctl stop firewalld[root@tracker ~]# setenforce 0
(4)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 //提供的存储路径(默认与日志文件存放在一起)tracker_server=192.168.142.66: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 ~]# systemctl stop firewalld[root@storage ~]# setenforce 0检查是否与tracker监控端关联成功[root@storage ~]# fdfs_monitor /etc/fdfs/storage.confStorage 1: id = 192.168.142.77 ip_addr = 192.168.142.77 (storage) ACTIVE http domain = ......省略
(5)安装nginx服务(storage:192.168.142.77)
这里为了减少虚拟机开启的数量,就在storage端进行nginx的安装安装nginx及其组件[root@storage ~]# tar zxf nginx-1.12.0.tar.gz -C /opt/#下载fastdfs-nginx-module安装包[root@storage ~]# wget https://github.com/happyfish200/fastdfs-nginx-module/archive/V1.20.tar.gz[root@storage ~]# tar zxf V1.20.tar.gz -C /opt/编译&安装[root@storage ~]# 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/ //fastdfs-nginx-module模块[root@storage nginx-1.12.0]# make && make install注意可能的报错:/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory解决方案:修改fastdfs-nginx-module-1.20/src/config文件,然后重新配置、编译及安装ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"配置fastdfs-nginx-module模块[root@storage nginx-1.12.0]# cd fastdfs-nginx-module-1.20/src[root@storage nginx-1.12.0]# cp mod_fastdfs.conf /etc/fdfs/ //移动其配置文件至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.142.66:22122 //tracker端的地址(重点!!!)url_have_group_name = true //url是否包含group名称storage_server_port=23000 //需要和storage配置的相同store_path_count=1 //存储路径个数,需要和store_path个数匹配store_path0=/opt/fastdfs //文件存储的位置修改nginx配置文件[root@storage fdfs]# vim /usr/local/nginx/conf/nginx.conf#空行处添加location ~/M00 { root /opt/fastdfs/data; ngx_fastdfs_module;}拷贝fastdfs解压目录中的http.conf和mime.types#不做这步可能会导致报错[root@storage fdfs]# cd /opt/fastdfs-5.11/conf/[root@storage conf]# cp mime.types http.conf /etc/fdfs/
(6)修改client端(本次实验即为storage端)
修改配置文件[root@storage ~]# vim /etc/fdfs/client.conf#检查以下配置base_path=/opt/fastdfs //tracker服务器文件路径tracker_server=192.168.142.66:22122 //tracker服务器IP地址和端口号http.tracker_server_port=8080 // tracker服务器的http端口号,必须和tracker的设置对应起来
三、测验
上传测试文件abc.txt
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf abc.txt
下载文件abc.txt
/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKiOTV354W2AIf7GAAAAEh4TEws726.txt abc.txt
删除文件abc.txt
fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKiOTV354W2AIf7GAAAAEh4TEws726.txt
文件
配置
服务
路径
日志
服务器
系统
存储
目录
编译
相同
个数
分布式
口号
数据
模块
端口
结构
单点
对等
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
教务软件开发文献
新起点软件开发
招聘 物流软件开发总监
服务器维护管理工作
网络安全模式启动停在欢迎
绝地求生全军出击服务器老断开
茄子视频软件开发
web服务器热备
网络安全违章谈话记录内容
电力领域计算机与网络技术
软件开发设计评审用在哪
网络安全法论文题目
数据库sql的阶乘
佛山南海网络安全宣传文章
服务器卡顿是性能问题吗
五行降妖师不同服务器能加好友么
网络安全是谁的组成部分
服务器管理口地址是什么
可以上600深度机柜的服务器
数据库连接数如何释放
python常驻服务器
想学电力及网络技术是什么专业
查看数据库使用了多少
tbc哪个数据库好用
sql数据库优点
一加出现与谷歌服务器
如何查询大乐透数据库
互联网科技技术视频
访问网络安全学院
软件开发专科生就业