搭建FastDFS集群
先插一张图(学习的时候找的)http://blog.csdn.net/u012453843/article/details/68957209?>
软件下载地址:主要是fastdfs、libfastcommon
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集群的更多相关文章
- 手把手教你搭建FastDFS集群(下)
手把手教你搭建FastDFS集群(下) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...
- 手把手教你搭建FastDFS集群(中)
手把手教你搭建FastDFS集群(中) 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/u0 ...
- 手把手教你搭建FastDFS集群(上)
手把手教你搭建FastDFS集群(上) 本文链接:https://blog.csdn.net/u012453843/article/details/68957209 FastDFS是一个 ...
- FastDFS 集群 安装 配置
这篇文章介绍如何搭建FastDFS 集群 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的 ...
- Fastdfs集群部署以及基本操作
FastDFS引言 本地存储与分布式文件系统 本地存储的缺点: 是否有备份? 没有 成本角度? 贵 服务器 :用于计算 ---- cpu/内存 用于存储 ---- 硬盘大 存储瓶颈? 容量有限 ...
- Linux安装fastdfs集群部署
过程问题: make: gcc:命令未找到 解决: yum -y install gcc 一.环境和版本: Linux环境:CentOS 7.6 libfastcommon版本:1.0.39 Fast ...
- 19.fastDFS集群理解+搭建笔记
软件架构理解 1FastDFS介绍 1.1什么是FastDFS FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并 ...
- fastdfs集群版搭建(一)- storage集群搭建与统一入口访问
前言 接着上篇博客:详细的最新版fastdfs单机版搭建,今天来讲讲fastdfs的集群搭建,限于篇幅,今天先搭建stoarge集群,并实现统一的http访问方式: 没看我上篇博客的小伙伴,最好先去瞅 ...
- 【开源组件】FastDFS集群搭建与实战
FastDFS是一个轻量级的分布式文件系统,在实际生产环境往往以集群的形式部署,保证了服务的高可用.本文重点阐述FastDFS集群的搭建和项目实战. 工作流程 上传流程图 下载流程图 基本概念可参考作 ...
随机推荐
- 『学了就忘』Linux基础 — 3、CentOS镜像下载
下载CentOS镜像可以从官网下载:https://www.centos.org/download/. 也可以从国内的镜像网站下载. 阿里云:https://mirrors.aliyun.com/ce ...
- Python课程笔记(八)
一些简单的文件操作,学过linux的话理解感觉不会很难.课程代码 一.OS 目录方法 这个模块提供了一种方便的使用操作系统函数的方法 函数 说明 os.mkdir("path") ...
- undefined reference to `recvIpcMsg(int, ipc_msg*)'——#ifdef __cplusplus extern "C" { #endif
最近在弄一个进程间通信,原始测试demon用c语言写的,经过测试ok,然后把接口封装起来了一个send,一个recv. 使用的时候send端是在一个c语言写的http服务端使用,编译ok没有报错,但是 ...
- Qt char * 转QString
1.QString转char * 先将QString转换为QByteArray,再将QByteArray转换为char *. 注意:不能用char *mm = str.toLatin1().data( ...
- Vue&Element开发框架中增加工作流处理,工作流的各个管理页面的界面处理
我在起前面的几篇随笔中,大概介绍了工作流的一些场景化处理,包括如何把具体业务表单组件化,并在查看和编辑界面中,动态加载组件内容,以及对于查看申请单的主页面,把审批.取消.发起会签.会签.批示分阅.阅办 ...
- anaconda无法launch应用(无法l打开任何应用)的问题解决 (点击应用无反应)
遇到了anaconda 无法launch 任何应用. 重装也不行. 先说我最终的解决方法(在官方文档中找到): 1. 启动 anaconda prompt , 输入 conda remove anac ...
- 什么是SimpleNVR流媒体服务器软件?
SimpleNVR是一款新兴流媒体服务器应用软件,占用内存少,无插件.跨平台,应用非常广泛,操作简单易上手,同时还支持一键观看,十分便捷.另外,跟其他一般流媒体服务器不同,SimpleNVR支持开发者 ...
- JMeter进行压力测试时查看服务器的资源使用
用户想要使用Jmeter监控所测试的服务器的资源使用情况,需要有Jmeter客户端插件和服务端插件 1.客户端插件 下载地址:https://jmeter-plugins.org/install/In ...
- MyBatis-Plus 快速入门
1.简介 MyBatis-Plus (简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发.提高效率而生. 1.1.特性 无侵入:只做增强不做改变, ...
- docker file 笔记
FROM # FROM scratch, FROM centos, FROM ubuntu:latest LABEL RUN # 每运行一次RUN,image都会生成新的一层,为了美观,避免 ...