先插一张图(学习的时候找的)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. Java版流媒体编解码和图像处理(JavaCPP+FFmpeg)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. Noip模拟80 2021.10.18

    预计得分:5 实际得分:140?????????????? T1 邻面合并 我考场上没切掉的大水题....(证明我旁边的cty切掉了,并觉得很水) 然而贪心拿了六十,离谱,成功做到上一篇博客说的有勇气 ...

  3. linux shell 基本语法之快速上手shell编程

    从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁.用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操 ...

  4. Java并发:重入锁 ReentrantLock(二)

    一.理解锁的实现原理 1. 用wait()去实现一个lock方法,wait()要和synchronized同步关键字一起去使用的,直接使用wait方法会直接报IllegalMonitorStateEx ...

  5. 单源最短路径算法:迪杰斯特拉 (Dijkstra) 算法(二)

    一.基于邻接表的Dijkstra算法 如前一篇文章所述,在 Dijkstra 的算法中,维护了两组,一组包含已经包含在最短路径树中的顶点列表,另一组包含尚未包含的顶点.使用邻接表表示,可以使用 BFS ...

  6. Allure快速入门

    1.关于Allure     Allure框架是一个灵活轻量级多语言测试报告工具,它不仅可以以WEB的方式展示简介的测试结果,而且允许参与开发过程的每个人从日常执行的测试中最大限度的提取有用信息.   ...

  7. RGB-YUV

    1,RGB 1.1 RGB说明 RGB色彩模式是工业界的一种颜色标准,是通过对红(R).绿(G).蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红.绿.蓝三个通 ...

  8. Tarjan算法 求 有向图的强连通分量

    百度百科 https://baike.baidu.com/item/tarjan%E7%AE%97%E6%B3%95/10687825?fr=aladdin 参考博文 http://blog.csdn ...

  9. Python——Excel转Json工具

    Python工具Excel转Json 前置条件 1.安装python 下载python 我下载的是2.7: 2.配置环境变量 我的电脑右键--属性--高级系统设置--环境变量: 添加python的安装 ...

  10. K8S发布策略,无损发布

    大家好,相信大部分公司都已经使用K8S进行容器管理和编排了,但是关于K8S的发布策略,还有很多同学不太清楚,通过这篇文章的介绍,相信大家对目前K8S的发布情况有一个概括的认识.总结下来,共有如下几种: ...