先插一张图(学习的时候找的)http://blog.csdn.net/u012453843/article/details/68957209?>

软件下载地址:主要是fastdfslibfastcommon

https://github.com/happyfish100/

讲一讲服务器功能:

1、Storage+Nginx,Storage是Fastdfs(fastdfs分为Tracker和Storage)的其中一个模块,主要是用于存放文件;Nginx添加fastdfs的专用Nginx模块,用于文件的Url访问。在同一个组的Storage互为备份,不同的组用于横向扩展容量。

2、Tracker+Nginx,Tracker是Fastdfs(fastdfs分为Tracker和Storage)的其中一个模块,主要是用于资源的调度,当用户使用客户端上传的时候,Tracker作为负载均衡,返回一个调度的Storage给客服端,然后客服端将文件上传到Storage。Nginx添加缓存模块作为负载均衡和缓存服务器。

3、Nginx集群多层负载均衡,作用的对外接口访问。

除Nginx集群多层负载均衡的2台外都要操作(Tracker和Storage同为Fasfdfs软件,只是最后我们启动的服务不同)(共六台):

安装gcc,使用的命令:yum install -y make cmake gcc gcc-c++

安装zip命令:yum install -y zip unzip

解压libfastcommon-master.zip。使用命令:unzip libfastcommon-master.zip

安装vim,之所以安装vim是因为安装vim会自动帮我们安装perl,以后编辑配置文件也方便。yum install -y vim-enhanced

使用 make.sh 和make.sh install 安装ibfastcommon-master。

添加软连接:(新版的改了很多,这是原博主的,没有验证是不是可以不要,有两个连接或者文件时存在的)

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so

ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

使用 make.sh 和make.sh install 安装fastdfs。

安装完成后的配置文件目录是:/etc/fdfs/

将配置文件的模板复制一份作为配置文件

Tracker的配置文件基本不用改,具体的配置项说明可以看看,主要是看他配置的目录根据需求来改,如果不存在最好是先建好(没有测试是不是会自动建立)。

Storage的配置文件也是基本不用改,具体的配置项说明可以看看,主要是看他配置的目录根据需求来改,如果不存在最好是先建好(没有测试是不是会自动建立),然后添加你的Tracker服务器,有几台加几台。然后就是不同存储组之间组名要不一样,同一存储组之间组名要一样。

Tracker开放22122端口

firewall-cmd --zone=public --add-port=22122/tcp --permanent

systemctl restart firewalld.service

Storage开放23000端口

firewall-cmd --zone=public --add-port=23000/tcp --permanent

systemctl restart firewalld.service

程序的目录是:/etc/init.d/

Tracker的启动:/etc/init.d/fdfs_trackerd start

Storage的启动:/etc/init.d/fdfs_storaged start

启动后可以分别到你配置的目录下的logs目录查看相关的日志。

查看集群信息:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

可以使用命令cd /usr/bin/ && ls | grep fdfs来查看fdfs所有的命令。

上传测试:Fastdfs配置文件目录是:/etc/fdfs/,程序的目录是:/etc/init.d/

在他的目录下还有一个工具可以用,就是client,同样的复制配置文件模板,同样基本不用改,具体的配置项说明可以看看,主要是看他配置的目录根据需求来改,如果不存在最好是先建好(没有测试是不是会自动建立),然后添加你的Tracker服务器,有几台加几台。

使用的命令:/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /usr/local/3.jpg

按回车执行上传命令后,会返回一个串:

group1/M00/00/00/wKicB1jjiFmAOUdkAAHk-VzqZ6w720.jpg,其中group1表示这张图片被保存在了哪个组当中,M00代表磁盘目录,如果电脑只有一个磁盘那就只有M00, 如果有多个磁盘,那就M01、M02...等等。00/00代表磁盘上的两级目录,每级目录下是从00到FF共256个文件夹,两级就是256*256个。wKicB1jjiFmAOUdkAAHk-VzqZ6w720.jpg表示被存储到storage上的3.jpg被重命名的名字,这样做的目的是为了防止图片名字重复。

可以去同一存储组的目录下查看是不是同步了,路径是你配置文件中的目录加上/00/00/。

对于Nginx的缓存服务器和上层的负载均衡就不在这里讲了。

搭建FastDFS集群的更多相关文章

  1. 手把手教你搭建FastDFS集群(下)

    手把手教你搭建FastDFS集群(下) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...

  2. 手把手教你搭建FastDFS集群(中)

    手把手教你搭建FastDFS集群(中) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...

  3. 手把手教你搭建FastDFS集群(上)

    手把手教你搭建FastDFS集群(上) 本文链接:https://blog.csdn.net/u012453843/article/details/68957209        FastDFS是一个 ...

  4. FastDFS 集群 安装 配置

    这篇文章介绍如何搭建FastDFS 集群 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的 ...

  5. Fastdfs集群部署以及基本操作

    FastDFS引言 本地存储与分布式文件系统 本地存储的缺点: 是否有备份? 没有 成本角度? 贵 ​ 服务器 :用于计算 ---- cpu/内存 ​ 用于存储 ---- 硬盘大 存储瓶颈? 容量有限 ...

  6. Linux安装fastdfs集群部署

    过程问题: make: gcc:命令未找到 解决: yum -y install gcc 一.环境和版本: Linux环境:CentOS 7.6 libfastcommon版本:1.0.39 Fast ...

  7. 19.fastDFS集群理解+搭建笔记

    软件架构理解 1FastDFS介绍 1.1什么是FastDFS FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并 ...

  8. fastdfs集群版搭建(一)- storage集群搭建与统一入口访问

    前言 接着上篇博客:详细的最新版fastdfs单机版搭建,今天来讲讲fastdfs的集群搭建,限于篇幅,今天先搭建stoarge集群,并实现统一的http访问方式: 没看我上篇博客的小伙伴,最好先去瞅 ...

  9. 【开源组件】FastDFS集群搭建与实战

    FastDFS是一个轻量级的分布式文件系统,在实际生产环境往往以集群的形式部署,保证了服务的高可用.本文重点阐述FastDFS集群的搭建和项目实战. 工作流程 上传流程图 下载流程图 基本概念可参考作 ...

随机推荐

  1. 将manjaro作为主力开发系统,我遇到了哪些坑。

    首先遇到的问题就是企业微信. 最开始几天,我直接去安装企业微信和微信,安装全都报错了. 无奈之下,只好安装了virtual box,装了一个win7,可以正常使用微信,企业微信,最开始蛋疼的地方是,企 ...

  2. Noip模拟57 2021.9.20

    规律总结:联考必爆炸 T1 2A 没$A$掉的大水题,但是是真的不知道$000$前面的$00$也算先导$0$,以后要长记性,这种东西不能再错了 再打三遍: $000$前面的$00$也算先导$0$ $0 ...

  3. 实验7:基于REST API的SDN北向应用实践

    一.实验目的 1.能够编写程序调用OpenDaylight REST API实现特定网络功能: 2.能够编写程序调用Ryu REST API实现特定网络功能. 二.实验环境 下载虚拟机软件Oracle ...

  4. linux 内核源代码情景分析——linux 内核源代码中的C语言代码

    linux 内核的主体是以GNU的C语言编写的,GNU为此提供了编译工具gcc.GNU对C语言本身作了不少扩充. 1) gcc 从 C++ 语言中吸收了"inline"和" ...

  5. 『学了就忘』Linux基础 — 17、远程服务器关机及重启时的注意事项

    目录 1.为什么远程服务器不能关机 2.远程服务器重启时需要注意两点 3.不要在服务器访问高峰运行高负载命令 4.远程配置防火墙时不要把自己踢出服务器 5.指定合理的密码规范并定期更新 6.合理分配权 ...

  6. 『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用

    目录 1.基本权限的介绍 (1)权限位的含义 (2)权限的优先级 2.权限的基本作用 (1)权限含义的解释 (2)目录权限说明 1.基本权限的介绍 (1)权限位的含义 前面讲解ls命令时,我们已经知道 ...

  7. Burp Suite Pro 2021.10 Full (macOS, Linux) -- 查找、发现和利用漏洞

    申明:底层组件来自网络论坛或开源社区的分享,本站所有软件免费分享,仅供学习和测试使用,严禁用于任何商业用途!!! 请访问原文链接:https://sysin.cn/blog/burp-suite-pr ...

  8. 如何利用SimpleNVR建立全天候远程视频监控系统

    随着社会经济的发展,5G.AI.云计算.大数据.物联网等新兴技术迭代更新的驱动下,传统的安防监控早已无法满足我们的需求.那么我们如何建立全天候远程视频监控系统来替代传统监控呢?如何进一步优化城市管理. ...

  9. SpringBoot2.x请求注解简单介绍(4)

    1.新建项目,项目中实战讲解注解作用 2.pom.xml依赖配置 <properties> <project.build.sourceEncoding>UTF-8</pr ...

  10. 跟着老猫来搞GO,基础进阶

    回顾一下上一篇博客,主要是和大家分享了GO语言的基础语法,其中包含变量定义,基本类型,条件语句,循环语句.那本篇呢就开始和大家同步一下GO语言基础的进阶. 函数的定义 上次其实在很多的DEMO中已经写 ...