先插一张图(学习的时候找的)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. mongodb的索引操作

    在mongodb中,当我们一个集合中的数据量非常大时,比如几百万条数据,如果不使用索引,对数据的查询就会进行全表扫描,这个时候查询的速度就会非常的慢,此时我们就需要为集合建立上索引,从而加快查询的速度 ...

  2. stm32直流电机驱动与测速

    stm32直流电机驱动与测速 说实话就现在的市场应用中stm32已经占到了绝对住到的地位,51已经成为过去式,32的功能更加强大,虽然相应的难度有所增加,但是依然阻止不了大家学习32的脚步,不说大话了 ...

  3. 数字设计中的时钟与约束(gate)

    转载:https://www.cnblogs.com/IClearner/p/6440488.html 最近做完了synopsys的DC workshop,涉及到时钟的建模/约束,这里就来聊聊数字中的 ...

  4. mongoDB 的一般使用

    理解 mongodb 也是nosql 的一种.他的数据存储类型是一种和json格式比较像的数据类型,可以看作就是json. mongodb 里的数据库都是一个单独的库.一般需要用的库都会设置自己的us ...

  5. sql注入理解

    一.SQL注入产生的原因和危害 1.原因 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序.而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原 ...

  6. Linux wget 命令 使用总结

    简介 wget命令用来从指定的URL下载文件.wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕.如果是服务器 ...

  7. Linux curl 命令 使用总结

    简介 curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,显示在"标准输出"(stdout)上面. 它支持多种协议 查看网页源码 直接在curl命令后加上网址,就可以 ...

  8. Mac卸载go

    1.删除go目录 一般目录是 /usr/local/go sudo rm -rf /usr/local/go 2.清除环境变量配置 3. mac安装go后自动创建的问题也需要删除 sudo rm -r ...

  9. vue自定义指令实例使用(实例说明自定义指令的作用)

    在写vue项目的时候,我们经常需要对后台返回的数据进行大量的渲染操作,其中就包含了大量的对特殊数据的进一步处理,比如说时间戳.图片地址.特殊数据显示等等特殊数据处理改进. 其实遇到这种情况,通过Vue ...

  10. Spring Boot 2.6.0正式发布:默认禁止循环依赖、增强Docker镜像构建...

    昨天,Spring官方正式发布了Spring Boot今年最后一个特性版本:2.6.0 同时,也宣布了2.4.x版本的终结. 那么这个新版本又带来了哪些新特性呢?下面就一起跟着DD来看看吧! 重要特性 ...