【Fastdfs】| 入门连续剧——安装

这篇具有很好参考价值的文章主要介绍了【Fastdfs】| 入门连续剧——安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

作者:狮子也疯狂
专栏:《spring开发》
坚持做好每一步,幸运之神自然会降临在你的身上
【Fastdfs】| 入门连续剧——安装,中间件核心组件精讲,apache,服务器,java,分布式,负载均衡

一. 🦁 前言

【Fastdfs】| 入门连续剧——安装,中间件核心组件精讲,apache,服务器,java,分布式,负载均衡

Ⅰ. 🐇 为什么要使用分布式文件系统?

1.1 单机系统 vs 独立文件服务器

在做项目时,前者一般都是直接在项目目录下直接创建静态文件夹(/resources/),用于用户存放项目中的文件资源,还可以创建不同的文件夹来区分不同的资源。这样子使用非常方便,但是随着项目业务需求越来越复杂,文件存储也会越来越多,文件资源就会越来越乱了
为了解决这个问题,引入了独立的文件服务器。项目上传文件时,首先通过ftp或者ssh将文件上传到图片服务器的某个目录下,再通过Ngnix或者Apache来访问此目录下的文
件,返回一个独立域名的图片URL地址,前端使用文件时就通过这个URL地址读取。

1.2 分布式文件系统

独立文件服务器已经解决了很多问题,但是性能上还是会随着业务量的复杂度增高而瓶颈凸显。新的业务就需要文件访问就有高响应性和高可用性。这时候分布式文件系统产生了。它的扩展能力强,高可用性和弹性存储性能都能暂时满足当下的业务需求。

1.3 FastDFS引入

是一个开源的轻量级分布式文件系统。它解决了大数据量存储和负载均衡等问题。特别适合以中小文件。

特性

  • 文件不分块存储,上传的文件和OS文件系统中的文件一一对应
  • 支持相同内容的文件只保存一份,节约磁盘空间
  • 下载文件支持HTTP协议,可以使用内置Web Server,也可以和其他Web Server配合使用
  • 支持在线扩容
  • 支持主从文件

二. 🦁 核心概念

【Fastdfs】| 入门连续剧——安装,中间件核心组件精讲,apache,服务器,java,分布式,负载均衡

Ⅰ. 🐇 tracker(跟踪服务器)

主要做调度工作,起负载均衡的作用。在内存中记录集群中所有存储组和存储服务器的状态信息,是客户端和数据服务器交互的枢纽。

tips:
不论是上传还是下载都是通过tracker来分配资源;客户端一般可以使用Ngnix等静态服务器来调用或者做一部分的缓存;存储服务器内部分为卷(或者叫做组),卷于卷之间是平行的关系,可以根据资源的使用情况随时增加,卷内服务器文件相互同步备份,以达到容灾的目的

Ⅱ. 🐇 storage(存储服务器)

文件和文件属性(meta data)都保存到存储服务器上。Storage server直接利用
OS的文件系统调用管理文件。

Ⅲ. 🐇 client(客户端)

作为业务请求的发起方,通过专有接口,使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互FastDFS向使用者提供基本文件访问接口,比如upload、download、append、delete等,以客户端库的方式提供给用户使用。

三. 🦁 搭建FastDfs

Ⅰ. 🐇 搭建环境

  1. Linux: CentOs 7.6
  2. FastDFS: 6.06

Ⅱ. 🐇 搭建流程

2.1 下载安装gcc

安装方式为yum安装(需网络)

yum install gcc-c++ perl-devel pcre-devel openssl-devel zlib-devel wget

2.2 下载安装FastDFS

wget https://github.com/happyfish100/fastdfs/archive/V6.06.tar.gz

2.3 下载安装FastDFS依赖

wgethttps://github.com/happyfish100/libfastcommon/archive/V1.0.43.tar.gz

2.4 解压缩依赖tar包

tar -zxvf V1.0.43.tar.gz -C /usr/local
tar -zxvf V5.11.tar.gz -C /usr/local

2.5 编译并安装libfastcommon

 cd /usr/local/libfastcommon-1.0.43/./make.sh && ./make.sh install

2.6 编译并安装FastDFS

cd /usr/local/fastdfs-6.06./make.sh && ./make.sh install

2.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/tracker

3.2 修改配置文件

vim /etc/fdfs/tracker.conf

disabled=false                 #启用配置文件
port=22122                     #设置 tracker的端口号
base_path=/data/fastdfs/tracker #设置 tracker的数据文件和日志目录(需预先创建)
http.server_port=8888           #设置 http 端口号
http.server_port=8888           #指的是在tracker服务器上启动http服务进程如:apache或者nginx 启动时所监听的端口

3.3 启动tracker服务

/etc/init.d/fdfs_trackerd start

3.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/storage

4.2 修改配置文件

进入/etc/fdfs/storage.conf 修改配置文件(可能需要找一下(建议直接先ESC 再/ 输入需要查询的关键字。 ))

vim /etc/fdfs/storage.conf 
disabled=false                       #启用配置文件
group_name=group1                     #组名,根据实际情况修改
port=23000                           #设置storage 的端口号
base_path=/data/fastdfs/base         #设置storage 的日志目录(需预先创建)
store_path_count=1                   #存储路径个数,需要和 store_path 个数匹配
store_path0=/data/fastdfs/storage       #存储路径
tracker_server=172.31.16.121:22122     #tracker 服务器的 IP 地址和端口号
http.server_port=8888                 #设置storage上启动的http服务的端口号,如安装的nginx的端口号

4.3 启动storage服务

/etc/init.d/fdfs_storaged start

4.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_trackerd

4.5 修改Client配置文件

进入/etc/fdfs/client.conf配置文件,修改配置

vim /etc/fdfs/client.conf

connect_timeout=30
network_timeout=60
base_path=/data/fastdfs/client      # 日志路径
tracker_server=192.168.66.100:22122    # 追踪服务器的IP,有多个服务器可以另一行

4.6 创建日志目录

mkdir -p /data/fastdfs/client

到这一步,搭建就完成啦。你搭建好了嘛?

四. 🦁 总结

这一篇文章主要内容介绍了分布式文件在当下的优势,以及fastdfs的主要组成和详细安装。纯纯的按步操作。只需要按着步骤来,就能搭建好这个文件系统。如果您还想持续学习这个分布式文件系统的知识,请关注我这个专栏叭。希望能帮助到你!!!
😄文章来源地址https://www.toymoban.com/news/detail-784147.html

到了这里,关于【Fastdfs】| 入门连续剧——安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Spring Cloud】服务容错中间件Sentinel入门

    欢迎来到阿Q社区 https://bbs.csdn.net/topics/617897123 Sentinel(分布式系统的流量防卫兵)是阿里开源的一套用于 服务容错 的综合性解决方案。它以流量为切入点,从 流量控制、熔断降级、系统负载保护 等多个维度来保护服务的稳定性。 Sentinel 具有以下特征: 丰富的应用场景 :

    2024年04月15日
    浏览(42)
  • thinkphp6 入门(6)--中间件是什么 怎么用

    当客户端发送请求至服务器时,HTTP请求会经过多个中间件,最后返回响应给客户端。中间件可以 在请求到达目标控制器或动作之前对请求进行操作 可以在响应离开目标控制器或动作之前对响应进行操作 二、中间件的作用 我们可以在不修改应用程序逻辑的情况下添加额外的

    2024年02月09日
    浏览(40)
  • 中间件系列 - Redis入门到实战(高级篇-多级缓存)

    学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记,如有侵扰,联系删除 学习目标 JVM进程缓存 Lua语法入门 实现多级缓存 缓存同步策略 传统的缓存策略

    2024年02月03日
    浏览(59)
  • 中间件系列 - Redis入门到实战(高级篇-分布式缓存)

    学习视频: 黑马程序员Redis入门到实战教程,深度透析redis底层原理+redis分布式锁+企业解决方案+黑马点评实战项目 中间件系列 - Redis入门到实战 本内容仅用于个人学习笔记,如有侵扰,联系删除 学习目标 Redis持久化 Redis主从 Redis哨兵 Redis分片集群 - 基于Redis集群解决单机R

    2024年02月03日
    浏览(53)
  • 【node.js从入门到精通】使用express创建web服务器,路由,进行中间件的创建链接路由及其他中间件

    目录 前言 初识express 使用express创建基本的web服务器 初识express路由 路由匹配概念 路由模块化 中间件 中间件和路由的区别 定义中间件函数 中间件作用   局部生效中间价 中间件分类  1.应用级别中间件  2.路由级别的中间件  3.错误级别中间件  4.内置中间件  5.自定义中间

    2024年02月02日
    浏览(55)
  • kubesphere安装中间件

    目录 kubesphere安装mysql kubesphere安装redis  kubesphere安装elasticsearch kubesphere安装nacos 创建configMap   elasticsearch.yml  jvm.options  创建配置字典(涉及application.properties和cluster.conf) 项目--配置--配置字典(需要添加两个数据,分别是application.properties和cluster.conf) 在mysql中创建库nacos,并且导

    2024年02月16日
    浏览(39)
  • Docker安装消息中间件

    docker pull rocketmqinc/rocketmq mkdir -p /docker/rocketmq/data/namesrv/logs /docker/rocketmq/data/namesrv/store docker run -d --restart=always --name rmqnamesrv --privileged=true -p 9876:9876 -v /docker/rocketmq/data/namesrv/logs:/root/logs -v /docker/rocketmq/data/namesrv/store:/root/store -e “MAX_POSSIBLE_HEAP=100000000” rocketmqinc/rocketmq sh mqname

    2024年02月10日
    浏览(59)
  • 中间件: Kafka安装部署

    下载二进制包 修改配置 启动 按照单机部署方式启动多个Zookeeper与broker节点。 修改config/server.properties配置: broker.id 每个节点唯一 zookeeper.connect: 改成zookeeper节点 查看集群状态:

    2024年02月12日
    浏览(44)
  • 中间件:RocketMQ安装部署

    下载 配置 broker.conf 的brokerIP1 为公网ip 启动命令: 查看集群状态 benchmark目录下

    2024年02月12日
    浏览(38)
  • 中间件: Redis安装与部署

    集群部署 启动6个redis节点 扩缩容 https://blog.csdn.net/lzb348110175/article/details/122168638 扩容: 添加两个节点, 第一个节点表示新节点,第二个节点表示集群中已有的任意一个节点 分配slot, 后面的节点是已有的节点 添加slave, 第一个为slave, 第二个为slave对应的master 缩容: 查看集

    2024年02月12日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包