免费建设互动的网站,深圳做门户网站的网络公司,为什么外包会是简历污点,个人静态网页制作教程作者#xff1a;狮子也疯狂 专栏#xff1a;《spring开发》 坚持做好每一步#xff0c;幸运之神自然会降临在你的身上 目录一. #x1f981; 前言Ⅰ. #x1f407; 为什么要使用分布式文件系统#xff1f;1.1 单机系统 vs 独立文件服务器1.2 分布式文件系统1.3 FastDFS引… 作者狮子也疯狂 专栏《spring开发》 坚持做好每一步幸运之神自然会降临在你的身上 目录一. 前言Ⅰ. 为什么要使用分布式文件系统1.1 单机系统 vs 独立文件服务器1.2 分布式文件系统1.3 FastDFS引入二. 核心概念Ⅰ. tracker跟踪服务器Ⅱ. storage存储服务器Ⅲ. client客户端三. 搭建FastDfsⅠ. 搭建环境Ⅱ. 搭建流程2.1 下载安装gcc2.2 下载安装FastDFS2.3 下载安装FastDFS依赖2.4 解压缩依赖tar包2.5 编译并安装libfastcommon2.6 编译并安装FastDFS2.7 进入etc目录下复制配置文件Ⅲ. 创建tracker服务3.1 创建tracker目录3.2 修改配置文件3.3 启动tracker服务3.4 检查tracker服务Ⅳ. 创建storage服务4.1 创建storage目录4.2 修改配置文件4.3 启动storage服务4.4 查看storage服务4.5 修改Client配置文件4.6 创建日志目录四. 总结一. 前言 Ⅰ. 为什么要使用分布式文件系统
1.1 单机系统 vs 独立文件服务器
在做项目时前者一般都是直接在项目目录下直接创建静态文件夹/resources/用于用户存放项目中的文件资源还可以创建不同的文件夹来区分不同的资源。这样子使用非常方便但是随着项目业务需求越来越复杂文件存储也会越来越多文件资源就会越来越乱了。 为了解决这个问题引入了独立的文件服务器。项目上传文件时首先通过ftp或者ssh将文件上传到图片服务器的某个目录下再通过Ngnix或者Apache来访问此目录下的文 件返回一个独立域名的图片URL地址前端使用文件时就通过这个URL地址读取。
1.2 分布式文件系统
独立文件服务器已经解决了很多问题但是性能上还是会随着业务量的复杂度增高而瓶颈凸显。新的业务就需要文件访问就有高响应性和高可用性。这时候分布式文件系统产生了。它的扩展能力强高可用性和弹性存储性能都能暂时满足当下的业务需求。
1.3 FastDFS引入
是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件。
特性 文件不分块存储上传的文件和OS文件系统中的文件一一对应支持相同内容的文件只保存一份节约磁盘空间下载文件支持HTTP协议可以使用内置Web Server也可以和其他Web Server配合使用支持在线扩容支持主从文件 二. 核心概念 Ⅰ. tracker跟踪服务器
主要做调度工作起负载均衡的作用。在内存中记录集群中所有存储组和存储服务器的状态信息是客户端和数据服务器交互的枢纽。 tips: 不论是上传还是下载都是通过tracker来分配资源客户端一般可以使用Ngnix等静态服务器来调用或者做一部分的缓存存储服务器内部分为卷或者叫做组卷于卷之间是平行的关系可以根据资源的使用情况随时增加卷内服务器文件相互同步备份以达到容灾的目的。 Ⅱ. storage存储服务器
文件和文件属性meta data都保存到存储服务器上。Storage server直接利用 OS的文件系统调用管理文件。
Ⅲ. client客户端
作为业务请求的发起方通过专有接口使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互。FastDFS向使用者提供基本文件访问接口比如upload、download、append、delete等以客户端库的方式提供给用户使用。
三. 搭建FastDfs
Ⅰ. 搭建环境
Linux: CentOs 7.6FastDFS: 6.06
Ⅱ. 搭建流程
2.1 下载安装gcc
安装方式为yum安装需网络
yum install gcc-c perl-devel pcre-devel openssl-devel zlib-devel wget2.2 下载安装FastDFS
wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz2.3 下载安装FastDFS依赖
wgethttps://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz2.4 解压缩依赖tar包
tar -zxvf V1.0.43.tar.gz -C /usr/local
tar -zxvf V5.11.tar.gz -C /usr/local2.5 编译并安装libfastcommon cd /usr/local/libfastcommon-1.0.43/./make.sh ./make.sh install2.6 编译并安装FastDFS
cd /usr/local/fastdfs-6.06./make.sh ./make.sh install2.7 进入etc目录下复制配置文件
里面会有三个.temp后缀的文件这一步主要作用就是将这个后缀去掉。
cd /etc/fdfs/
cp client.conf.sample client.conf
cp storage.conf.sample storage.conf
cp tracker.conf.sample tracker.confⅢ. 创建tracker服务
3.1 创建tracker目录
mkdir -p /data/fastdfs/tracker3.2 修改配置文件
vim /etc/fdfs/tracker.confdisabledfalse #启用配置文件
port22122 #设置 tracker的端口号
base_path/data/fastdfs/tracker #设置 tracker的数据文件和日志目录需预先创建
http.server_port8888 #设置 http 端口号
http.server_port8888 #指的是在tracker服务器上启动http服务进程如:apache或者nginx 启动时所监听的端口3.3 启动tracker服务
/etc/init.d/fdfs_trackerd start3.4 检查tracker服务
netstat -lntup |grep fdfs
tcp 0 0 0.0.0.0:22122
0.0.0.0:* LISTEN
10757/fdfs_trackerdⅣ. 创建storage服务
4.1 创建storage目录
mkdir -p /data/fastdfs/base
mkdir -p /data/fastdfs/storage4.2 修改配置文件
进入/etc/fdfs/storage.conf 修改配置文件可能需要找一下建议直接先ESC 再/ 输入需要查询的关键字。
vim /etc/fdfs/storage.conf
disabledfalse #启用配置文件
group_namegroup1 #组名根据实际情况修改
port23000 #设置storage 的端口号
base_path/data/fastdfs/base #设置storage 的日志目录需预先创建
store_path_count1 #存储路径个数需要和 store_path 个数匹配
store_path0/data/fastdfs/storage #存储路径
tracker_server172.31.16.121:22122 #tracker 服务器的 IP 地址和端口号
http.server_port8888 #设置storage上启动的http服务的端口号如安装的nginx的端口号4.3 启动storage服务
/etc/init.d/fdfs_storaged start4.4 查看storage服务
netstat -lntup |grep fdfs
tcp 0 0 0.0.0.0:23000
0.0.0.0:* LISTEN
10892/fdfs_storaged
tcp 0 0 0.0.0.0:22122
0.0.0.0:* LISTEN
10757/fdfs_trackerd4.5 修改Client配置文件
进入/etc/fdfs/client.conf配置文件修改配置
vim /etc/fdfs/client.confconnect_timeout30
network_timeout60
base_path/data/fastdfs/client # 日志路径
tracker_server192.168.66.100:22122 # 追踪服务器的IP有多个服务器可以另一行4.6 创建日志目录
mkdir -p /data/fastdfs/client到这一步搭建就完成啦。你搭建好了嘛
四. 总结
这一篇文章主要内容介绍了分布式文件在当下的优势以及fastdfs的主要组成和详细安装。纯纯的按步操作。只需要按着步骤来就能搭建好这个文件系统。如果您还想持续学习这个分布式文件系统的知识请关注我这个专栏叭。希望能帮助到你!