FastDFS是一个开源的。高性能的的分布式文件系统,他基本的功能包含:文件存储。同步和訪问,设计基于高可用和负载均衡,FastDFS很适用于基于文件服务的站点。比如图片分享和视频分享站点

FastDFS有两个角色:跟踪服务(tracker)和存储服务(storage),跟踪服务控制,调度文件以负载均衡的方式訪问;存储服务包含:文件存储,文件同步,提供文件訪问接口,同一时候以key value的方式管理文件的元数据

跟踪和存储服务能够由1台或者多台server组成,同一时候能够动态的加入,删除跟踪和存储服务而不会对在线的服务产生影响,在集群中。tracker服务是对等的

存储系统由一个或多个卷组成。卷与卷之间的文件是相互独立的。全部卷的文件容量累加就是整个存储系统中的文件容量。一个卷能够由一台或多台存储server组成。一个卷下的存储server中的文件都是同样的,卷中的多台存储server起到了冗余备份和负载均衡的作用。在卷中添加server时,同步已有的文件由系统自己主动完毕,同步完毕后。系统自己主动将新增server切换到线上提供服务。当存储空间不足或即将耗尽时,能够动态加入卷。

仅仅须要添加一台或多台server,并将它们配置为一个新的卷。这样就扩大了存储系统的容量。

一、開始安装:

1. 在http://code.google.com/p/fastdfs/downloads/list下载所需文件,此外还需先安装好libevent。

2. tar xzf FastDFS_v2.11.tar.gz

3. cd FastDFS
假设支持HTTP, vi make.sh,使用/WITH_HTTPD查找到这一行,输入i进入编辑模式,删除掉前面的凝视#。:wq保存退出。假设须要安装成服务,则把以下一行也解开。

./make.sh
./make.sh install

4. 准备几个空暇的port,能够使用netstat -an | grep port号是否被占用。

5. 依据实际情况改动/etc/fdfs下的配置文件,每一个上面都有凝视说明,假设须要HTTP。别忘了解开最以下的#include http.conf,要带一个#

6. 启动tracker: /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

7. 启动storage: /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf。假设出现错误,能够到步骤5改动配置文件时设置的文件夹的log文件夹下查看详细错误原因。

8. 到此安装配置完毕

二、操作使用:在FastDFS安装文件夹bin下有以下可运行文件。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlmZWlqaWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" style="font-family: Helvetica, Tahoma, Arial, sans-serif; line-height: 25.200000762939453px; color: rgb(255, 102, 0); font-weight: bold;" alt="" />

上传文件:/usr/local/bin/fdfs_upload_file  <config_file> <local_filename>

下载文件:/usr/local/bin/fdfs_download_file <config_file> <file_id> [local_filename]

删除文件:/usr/local/bin/fdfs_delete_file <config_file> <file_id>

monitor: /usr/local/bin/fdfs_monitor /etc/fdfs/client.conf

关闭:

killall fdfs_trackerd

killall fdfs_storaged

/usr/local/bin/stop.sh /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/local/bin/stop.sh /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

重新启动:

/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/local/bin/restart.sh /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

三、測试上传:

./fdfs_test ../conf/client.conf upload QQ.png。能够看到文件上传成功。

在app/fdfs407/data/data/00/3C文件夹下能够找到刚刚上传的图片:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlmZWlqaWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

四、FastDFS上传/下载过程:

首先客户端 client 发起对 FastDFS 的文件传输动作。是通过连接到某一台 Tracker Server 的指定port来实现的,Tracker Server 依据眼下已掌握的信息,来决定选择哪一台 Storage Server ,然后将这个Storage Server 的地址等信息返回给 client,然后 client 再通过这些信息连接到这台 Storage Server,将要上传的文件传送到给 Storage Server上。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlmZWlqaWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

上传过程:

下载过程:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlmZWlqaWFu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

在我的项目中。一般启动2个tracker和2个storage就能够了,例如以下所看到的:

./fdfs_trackerd ../conf/tracker-1.conf
./fdfs_trackerd ../conf/tracker-2.conf
./fdfs_storaged ../conf/storage-g1-1.conf
./fdfs_storaged ../conf/storage-g2-1.conf

下一篇文章则介绍了如何配置每一个人conf档。

版权声明:本文博主原创文章,博客,未经同意不得转载。

FastDFS设备、构造、配置()一-安装和部署的更多相关文章

  1. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

  2. appium安装与部署

    前提: ①:appium属于C/S架构,代码写在Client端 ②:本章所说的部署讲的是Android设备下的Appium安装与部署 ③:Appium Client的环境是针对python3的 App ...

  3. 在Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程

    之前在Mac上通过安装mamp来搭建PHP环境服务器,但是对于java来说,目前还是没有找到类似mamp这样强大的软件来构建及管理java环境服务器,所以目前也是通过命令行来进行tomcat服务器的安 ...

  4. JDK的安装及部署配置(配图解)

    JDK的安装及部署配置 双击安装文件,出现如下界面 点击[下一步]出现如下界面,更改安装路径(建议安装至D盘), 点击[下一步],出现如下界面,修改文件夹名. 点击[确定],耐心等待 直至出现如下界面 ...

  5. linux 下安装配置jboss as7以及部署应用

    linux 下安装配置jboss as7以及部署应用 1.测试平台及软件 centos 5.4 jdk-7u5-linux-i586.rpm jboss-as-7.1.1.Final.zip jbos ...

  6. 基于Ubuntu Server 16.04 LTS版本安装和部署Django之(二):Apache安装和配置

    基于Ubuntu Server 16.04 LTS版本安装和部署Django之(一):安装Python3-pip和Django 基于Ubuntu Server 16.04 LTS版本安装和部署Djan ...

  7. IIS安装与部署,站点的部署与配置

    第一章:IIS安装与部署 一,服务器概念的理解: 将设计好的软件只要部署到一台机器(服务器--->IIS)上,其它的员工通过浏览器(网址.)来进行访问. 做好的网站必须部署到这台机器上的IIS中 ...

  8. 【Redis安装】部署与基本配置 --基于Mac和Linux

    Redis安装与部署[基于Mac和Linux] 一.Redis简介 基于内存的Key-Value高性能NoSQL数据库 二.Redis下载和解压 进入官网下载最新版的Redis,目前是5.0.0,这个 ...

  9. RAC配置、安装

    RAC  配置及安装 2012年12月30日 星期日 21:49 ******************************************************************* ...

  10. C#(VS2008)服务编写-安装和部署

    1.创建一个空白解决方案. 2.在解决方案下面添加两个Windows服务:WXSmsGuardNew(保护服务),WXSmsMainNew(主服务). 3.第一个服务作为保护服务,服务上添加两个控件: ...

随机推荐

  1. 深入了解java同步、锁紧机构

    该薄膜还具有从本文试图一个高度来认识我们共同的同步(synchronized)和锁(lock)机制. 我们假定读者想了解更多的并发知识推荐一本书<java并发编程实战>,这是一个经典的书, ...

  2. BlueJ的code pad

    Java的REPL BlueJ的code pad实用吗?Java对(Read-Eval-Print Loop)不提供原生支持.这样的"交互式解释器"或"交互式编程环境&q ...

  3. 在Sublime Text3中运行PHP代码

    一.前言 最近由于工作需要要与第三方系统对接,另外由于文档中关于其中几个接口就只有很简单的描述,弄了半天都没有弄成功.跟第三方负责的人沟通后还是没有找到具体问题出在哪里,另外因为他们没有开发人员懂.n ...

  4. SAE微信公众号PHP SDK, token一直验证失败

    用的是SAE,创建的是微信公众号PHP SDK框架,里面example文件夹下有server.php用来验证token的.但是问题来了,无论我怎么输入URL和token,一直告诉我token验证失败. ...

  5. HYSBZ 1036(树链剖分)

    题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=28982#problem/E 题意:给定一棵树及树上的点权,要求三种操作: 1) ...

  6. FUDCon - FedoraProject

    FUDCon - FedoraProject FUDCon: Fedora Users and Developers Conference FUD: An acronym for Fear, Unce ...

  7. HDU 2825 AC自动机+DP

    题意:一个密码,长度为 n,然后有m个magic words,这个密码至少由k个magic words组成. 问这个密码可能出现的总数. 思路:首先构造AC自动机,由于m很小,才10 ,我们可以使用二 ...

  8. Android之Http通信——3.Android HTTP请求方式:HttpURLConnection

    3.Android HTTP请求方式之HttpURLConnection 引言: 好了,前两节我们已经对HTTP协议进行了学习.相信看完前两节的朋友对HTTP协议相比之前 应该更加熟悉吧.好吧.学了要 ...

  9. dede 标签

     ◆织梦内容管理系统模板标签代码参考 [Arclist 标记] 这个标记是DedeCms最常用的一个标记,也叫自由列表标记,其中 hotart.coolart.likeart.artlist.imgl ...

  10. HDU 1661 Assigments 贪心法题解

    Problem Description In a factory, there are N workers to finish two types of tasks (A and B). Each t ...