注:生产环境亲身实践,可复用
参考资料:https://blog.csdn.net/weixin_45422648/article/details/120308274
https://blog.csdn.net/deepking18254382067/article/details/102917823
一.FastDFS分布式存储

当在某一个Group中添加新的Storage服务器的时候,新加入该Group的服务器会自动同步所有数据。当新添加Group的时候,只需要修改处于前端的Nginx服务器即可。要实现主备自动切换还可以加入KeepAlived中间件。FastDFS服务器通过HTTP提供服务,但是HTTP的性能太弱,所以在V4.05之后的版本中删除了内置的HTTP服务。
FastDFS的Group之间的Storage需要复制数据,如果请求的数据正在复制,由于不是源服务器,那么fastdfs-nginx-module将进行重定向源服务器。
fastdfs-nginx-module支持配置多个组,一个服务器可以配置多个Group不同的Storage。同一个Group的Storage必须端口相同。
Nginx会为FastDFS提供负载均衡和数据缓存的功能。
FastDFS集群的总容量等于全部Group容量之和。一个Group的容量等于最小的Storage服务器容量。
组一般用于隔离不同的数据。

二.机器规划&公共包安装

1.tracker 两台:
172.16.228.133    tracker1
172.16.228.134    tracker22.storage 四台:分两组
172.16.228.135    storage1  group1
172.16.228.136    storage2  group1
172.16.228.137    storage3  group2
172.16.228.138    storage4  group23.安装Nginx、Fastdfs需要的库依赖(全部安装)
yum install gcc perl openssl openssl-devel pcre pcre-devel zlib zlib-devel libevent libevent-devel -y4.准备安装包
libfastcommon-master.zip             fastdfs依赖库
FastDFS_v5.08.tar.gz                 fastdfs安装包
fastdfs-nginx-module_v1.16.tar.gz    fastdfs扩展包
nginx-1.16.1.tar.gz                  nginx安装包5.安装FastDFS及其依赖库(全部安装)
a).解压   libfastcommon-master.zip进入:  libfastcommon-master编译: ./make.sh安装: ./make.sh install  b).解压  FastDFS_v5.08.tar.gz进入:FastDFS编译:./make.sh安装:./make.sh install复制文件:将conf下的 http.conf mime.types 复制到/etc/fdfs/目录下修改配置文件名称:进入到 /etc/fdfs/下 将.sample后缀全部去掉

三.配置tracker(两台,133 134)

1.进入到/etc/fdfs/下 (两台相同操作)vim tracker.confbase_path=/home/fastdfs/tracker (确保路径存在,不存在先创建)2.配置参数介绍reserved_storage_space = 10%解释:torage server 上保留的空间,保证系统或其他应用需求空间。只要同组内任一storage server剩余空间小于这个值,就不允许再上传文件
--------------------------------------------------------------------------------------负载均衡策略0: 轮训,每个组上传一次1: 指定组上传2: 负载均衡,选择上传文件的最大空闲空间组store_lookup=2解释:当store_lookup=1时,store_group必须指定组名store_group=group23.安装nginx
a)、tar -zxvf nginx-1.16.1.tar.gz
b)、cd /home/nginx-1.16.1./configure --prefix=/usr/local/nginx (如果没权限执行chmod +x configure)make make install
c)、进入/usr/local/nginx/conf 修改nginx配置文件vim nginx.conf配置内容:  upstream fastdfs_group1_server {server 172.16.228.135:8888;server 172.16.228.136:8888;}upstream fastdfs_group2_server {server 172.16.228.137:8888;server 172.16.228.138:8888;}server{listen 8888;server_name localhost;location ~ /group1/M0[0-9] {proxy_pass http://fastdfs_group1_server;}location ~ /group2/M0[0-9] {proxy_pass http://fastdfs_group2_server;}}

四.配置storage(四台,135 136 137 138)

1.进入到/etc/fdfs/ 下
a)、group1:172.16.228.135172.16.228.136配置:tracker_server=172.16.228.133:22122       (配置tracker)tracker_server=172.16.228.134:22122group_name=group1base_path=/home/fastdfs/storage           (确保路径存在,不存在先创建)store_path0=/home/fastdfs/storage/data    (确保路径存在,不存在先创建)
--------------------------------------------------------------
b)、group2:172.16.228.137172.16.228.138配置:tracker_server=172.16.228.133:22122      (配置tracker)tracker_server=172.16.228.134:22122group_name=group2base_path=/home/fastdfs/storage          (确保路径存在,不存在先创建)store_path0=/home/fastdfs/storage/data   (确保路径存在,不存在先创建)注释:除了组名称不一样,其余都一样2.安装nginx及扩展模块fastdfs-nginx-module(四台storage操作相同)a)、tar -zxvf nginx-1.16.1.tar.gzb)、tar zxf fastdfs-nginx-module_v1.16.tar.gzcd fastdfs-nginx-module/srcvi config修改配置文件中第四行,把路径中local去掉。参数是用于配置安装nginx中的FastDFS组件的时候,在什么位置查找FastDFS核心代码CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"c)、cd /home/nginx-1.16.1./configure --prefix=/usr/local/nginx --add-module=/home/fastdfs-nginx-module/src (添加扩展模块,如果没权限执行chmod +x configure)makemake installd)、将fastdfs-nginx-module下src目录中的(mod_fastdfs.conf)拷贝到/etc/fdfs/下e)、 进入/etc/fdfs修改mod_fastdfs.conf文件配置文件:vim mod_fastdfs.confbase_path=/home/fastdfs/mod_fastdfs     #保存日志目录tracker_server=172.16.228.133:22122     #tracker服务器的IP地址以及端口号tracker_server=172.16.228.134:22122group_name=group1                       #当前服务器的group名(135 136 group1,137 138 group2)url_have_group_name=true                #文件url中是否有group名store_path0=/home/fastdfs/storage/data  #存储路径group_count = 2                         #设置组的个数在末尾增加2个组的具体信息:(有几组就填写几组)f)、[group1]group_name=group1storage_server_port=23000store_path_count=1store_path0=/home/fastdfs/storage/datag)、[group2]group_name=group2storage_server_port=23000store_path_count=1store_path0=/home/fastdfs/storage/data3.进入/usr/local/nginx/conf 修改nginx配置文件vim nginx.conf配置内容:server{listen 8888; #storage 配置中, 有http.server_post=8888的配置信息,必须一致server_name localhost;location ~ /group[1-9]/M0[0-9] {ngx_fastdfs_module;}}

五.启动&开机自动启动

a)启动
tracker(133 134): service fdfs_trackerd start
storage(135 136 137 138): service fdfs_storaged start
nginx: cd /usr/local/nginx/sbin/./nginx
b)设置开机自动启动
编辑 /etc/rc.d/rc.local 文件,添加如下配置
# fastdfs start
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
# nginx start
/usr/local/nginx/sbin/nginx
在centos7中, /etc/rc.d/rc.local 文件的权限被降低了,需要给rc.local 文件增加可执行的权限
chmod +x /etc/rc.d/rc.local

六.集成SpringBoot
参考https://github.com/tobato/FastDFS_Client

FastDFS集群环境搭建相关推荐

  1. FastDFS集群环境搭建(五)FastDFS监控器fdfs_monitor

    文章目录 FastDFS七种状态 增加Storage节点 删除Storage节点 增加tracker节点 FastDFS七种状态 标识 含义 INIT 初始化,尚未得到同步已有数据的源服务器 WAIT ...

  2. 2W 字详解 Redis 6.0 集群环境搭建实践

    原文链接:https://www.cnblogs.com/hueyxu/p/13884800.html 本文是Redis集群学习的实践总结(基于Redis 6.0+),详细介绍逐步搭建Redis集群环 ...

  3. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(九)安装kafka_2.11-1.1.0

    如何搭建配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.& ...

  4. hadoop集群环境搭建准备工作

    一定要注意hadoop和linux系统的位数一定要相同,就是说如果hadoop是32位的,linux系统也一定要安装32位的. 准备工作: 1 首先在VMware中建立6台虚拟机(配置默认即可).这是 ...

  5. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十一)NIFI1.7.1安装

    一.nifi基本配置 1. 修改各节点主机名,修改/etc/hosts文件内容. 192.168.0.120master192.168.0.121slave1192.168.0.122 slave2 ...

  6. 『高级篇』docker之DockerSwarm的集群环境搭建(28)

    原创文章,欢迎转载.转载请注明:转载自IT人故事会,谢谢! 原文链接地址:『高级篇』docker之DockerSwarm的集群环境搭建(28) 上次了解了docker Swarm,这次一起动手操作,搭 ...

  7. Ubuntu下基于 Cilium CNI 的 Kubernetus集群环境搭建

    Ubuntu下基于 Cilium CNI 的 Kubernetus集群环境搭建 1. 前言 2. 安装三个Ubuntu 2.1 三个机器都关闭防火墙 2.2 三个机器都关闭swap 2.3 三个机器都 ...

  8. Hadoop 2.x 完全分布式HA集群环境搭建

    Hadoop 2.x 完全分布式HA集群环境搭建 目录 Hadoop 2.0 环境搭建 前提:环境准备 第一步:修改hadoop-env.sh配置文件,配置好JAVA_HOME环境变量 第二步:修改h ...

  9. 学习笔记之-Kubernetes(K8S)介绍,集群环境搭建,Pod详解,Pod控制器详解,Service详解,数据存储,安全认证,DashBoard

    笔记来源于观看黑马程序员Kubernetes(K8S)教程 第一章 kubernetes介绍 应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代: 传统部署:互联网早期,会直接将应用程序部署 ...

最新文章

  1. CoinU基本概念分享(什么是去中心化钱包、助记词丢失怎么办等)
  2. python闪光培训班 费用-Python tk 按钮颜色
  3. PVFS2 1.4.0的安装、配置与性能测试
  4. 跑通im2txt 程序(1)
  5. 《如何搭建小微企业风控模型》第七节 准入规则节选
  6. maven的pom文件解析及配置
  7. 大多数元素python_学Python必知的20个技巧,掌握它们,准没错
  8. 【EMNLP2020】融合自训练和自监督方法的无监督文本顺滑研究
  9. apk 反编译_安卓apk反编译、重新打包、签名全过程
  10. JAVA文件传输程序
  11. mysql sqlite 语法_浅谈sqlite与mysql的数据库语法差异_沃航科技
  12. 国债(长短期)、财政赤字、利率、美元指数、国债收益率关系
  13. 诺瓦科技2022数字IC设计提前批笔试
  14. 关于HTML系统学习(1)
  15. Excel的常用快捷键
  16. Android多点触控详解
  17. python重新执行条件_Python 基础(二)
  18. 【Unity】Unity中影响性能的几个因素
  19. IDEA常用快捷键(Windows)
  20. 简单易用,基于js或vue项目实现一次批量文件下载功能

热门文章

  1. 创作激励“姗姗来迟”,视频号“还能饭否”?
  2. PDF电子书下载 和 企业物联网实例 视频讲解——实践类
  3. 突发!PHP服务器被攻击,恶意代码合入git仓库
  4. 《李小龙传奇》,武术大师的哲学
  5. c++同名dll和dll中同名函数加载问题
  6. 【全】正则表达式语法
  7. mysql下载64位 西西,MYSQL下载v8.0.12.0 Windows版本-MySQL数据库库西西软件下载
  8. 2021暨南大学CTF新生杯(杂项篇)
  9. create table ,create table as 与create like三种建表方式的使用详解
  10. 【地平线机器人入职培训笔记-第二周】