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. TreeSet排序

    TreeSet的排序能够通过两种方法来实现: 1.通过TreeSet(Comparator<? super E> comparator) 构造方法指定TreeSet的比較器进行排序. 2. ...

  2. 【网络协议】TCP交互数据流和数据流成块

    前言 建立在TCP协议上的应用层协议有非常多,如FTP.HTTP.Telnet等,这些协议依据数据传输的多少能够分为两类:交互数据类型和成块数据类型. 交互数据类型,如:Telnet,这类协议一般仅仅 ...

  3. linux yum命令

    1 安装yum install 全部安装yum install package1 安装指定的安装包package1yum groupinsall group1 安装程序组group1 2 更新和升级y ...

  4. 谨记给UpdatePanel中动态添加的控件赋ID

    原文:谨记给UpdatePanel中动态添加的控件赋ID 昨天下定决 心对上次做的布局编辑器控件加以改进,其中最主要变化的就是要完全使用ASP.NET AJAX!但是很遗憾,虽然耳闻已久,但目前对AS ...

  5. RabbitMq消息序列化简述

    涉及网络传输的应用.序列化不可避免. 发送端以某种规则将消息转成byte数组进行发送. 接收端则以约定的规则进行byte[]数组的解析. 序列化的选择能够是jdk序列化,hessian,jackson ...

  6. JAVA逆向&反混淆-追查Burpsuite的破解原理(转)

    0x00 摘要: 本系列文章通过对BurpLoader的几个版本的逆向分析,分析Burpsuite的破解原理,分析Burpsuite认证体系存在的安全漏洞. 0x01 JD-GUI的用途与缺陷: JD ...

  7. SWT中一些细节的说明

    1.shell.pack();函数的效果是将程序打包,使其以合适的大小显示出来,不会太大有很多多余空间,也不会太小导致有些控件无法显示. 2. while(!shell.isDisposed()){ ...

  8. Android之查看外部依赖jar的源代码_android private libralies does not allow modifications to source

    在Eclipse中开发android的应用程序时,有时想查看函数的内部实现.可是当在函数上点击ctrl和鼠标左键的时候. 往往出现例如以下提示: Class File Editor Source no ...

  9. phpmailer【PHP邮件】的用法

    第一,需要下载PHPMailer文件包phpmailer. http://phpmailer.sourceforge.net/ 第二,确认你的服务器系统已经支持socket ,通过phpinfo(); ...

  10. An Overview of Complex Event Processing2

    An Overview of Complex Event Processing 翻译前言:感觉作者有点夸夸其谈兼絮絮叨叨,但文章还是很有用的.原文<An Overview of Complex ...