文件服务器分布式系统安装手册

本文档详细的介绍了FastDFS的最小集群安装过程。集群环境如下:

tracker:20.2.64.133 。用于调度工作,在访问上起负载均衡的作用。

group1:

storage1: 20.10.129.150。存储节点存储文件,完成文件管理的所有功能。

storage2: 20.12.1.73。

group2:

storage2:20.12.1.74

以下将详细的介绍此分布式的安装过程,针对不同的系统,安装过程中部分细节(存储路径设置等)可能稍有不同,但基本步骤相同。

第一步安装libevent

在搭建分布式环境之前,需要确保已经安装了libevent,FastDFS安装时对libevent的版本有一定要求。注需要卸载重装系统自带的libevent。使用最新的stable版本本示例中使用的版本为libevent-2.0.21-stable。注意,此步骤需要在所有机器上都执行,否则会导致FastDFS安装失败。

1:判断是否安装了libevent

>> rpm -qa|grep libevent

如果有输出,则说明已经安装了libevent

Fastdfs对libevent版本有要求,所以先删除系统自带的libevent,然后安装最新稳定版本

在本示例中,输出为libevent-1.4.13-1.el6.x86_64

2:卸载已有的libevent

>> rpm -e libevent --nodeps

3:安装最新的libevent

本示例的libevent使用版本为libevent-2.0.21-stable.tar.gz

安装libevent

>> tar zvxf libevent-2.0.21-stable.tar.gz

>> cd libevent-2.0.21-stable

>> ./configure --prefix=/usr

>> make

>>make install

4:检查是否安装成功

>> ls –al /usr/lib |grep libevent(或者>> ls –al /usr/local/lib |grep libevent)若有结果,则说明安装正确

注意:

1) 如果是在32为系统上安装,且libevent 的安装目录在/usr/local/lib下,则还需要建立libevent-2.0.so.5 到/usr/lib的软链接,这样其他程序运行时才可以找到libevent库

>> ln –s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

2) 如果是在64位系统,需要创建一个libevent-2.0.so.5 到/usr/lib64的软链接

>> ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5 (假设libevent 的安装目录在/usr/lib下)

到此一步,安装libevent工作完毕。

第二步安装FastDFS

本示例中使用的FastDFS版本为4.0.6。

安装FastDFS

>> tar zvxf FastDFS_v4.06.tar.gz

>> cd FastDFs

>> ./make.sh

>> ./make.sh install

注意上面两步,检查是否出错,如果出错,则说明上面的libevent没有安装好

安装成功后,FastDFS 安装在/usr/local/bin中。配置文件在/etc/fdfs中

至此,FastDFS安装完毕

此步骤需要在所有机器上都执行。

第三步安装nginx以及fastdfs-nginx-module(只需在storage)

FastDFS通过HTTP服务器来提供HTTP服务。为了支持高并发的访问,以及提供负载均衡等高性能的服务,本示例使用nginx作为HTTP服务器,FastDFS为我们提供了Nginx上使用的FastDFS模块(fastdfs-nginx-module)。此步操作只需要在storage上执行。tracker

上可不执行。

1:fastdfs-nginx-module安装:

>>  tar -zxvf fastdfs-nginx-module_v1.11.tar.gz    (解压后的路径为/home/chenfeic/fastdfs/fastdfs-nginx-module)

Nginx需要依赖第三方的库 nginx的gzip模块需要zlib库,rewrite模块需要pcre库,那么我们来依次安装它们。

2zlib库安装:

>> tar -vxzf zlib-1.2.8.tar.gz    (本示例中解压位置为/home/chenfeic/fastdfs/zlib-1.2.8)

>>cd zlib-1.2.8

>> ./configure --prefix=/usr/local/zlib   (设置安装路径)

>> make

>> make install

3pcre库安装:

>> tar -vxzf pcre-8.33.tar.gz  (本示例中解压位置为--with-pcre= /home/chenfeic/ fastdfs / pcre-8.33 )

>> cd prce-8.33

>> ./configure --prefix=/usr/local/pcre

--libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre

>> make

>> make install

4:nginx安装:

>> tar -zxvf nginx-1.4.4.tar.gz

>> cd nginx-1.4.4

>>./configure --prefix=/usr/local/nginx --with-zlib=/home/chenfeic/fastdfs/zlib-1.2.8  --with-pcre=/home/chenfeic/fastdfs/pcre-8.33 --sbin-path=/usr/local/nginx --add-module=/home/chenfeic/fastdfs/fastdfs-nginx-module/src

>> make

>> make install

注意:--with-pcre --with-zlib 后面的路径都是源码路径,而不是编译后的包。在实际的过程中,此路径根据具体情况填写。

至此,我们的nginx安装成功,nginx默认是80端口,为了防止与其他服务冲突,建议换成其他端口(后续章节有详细介绍)。

此步骤需要在所有storage节点上都执行。(tracker节点不需要执行)

第四步配置及启动FastDFS

1:tracker配置(只需在跟踪器节点配置)

修改tracker的配置文件tracker.conf。该文件位置在/etc/fdfs/tracker.conf。主要修改以下两处,如有其他调整,可参考FastDFS文档自行调整。

>> /etc/fdfs/tracker.conf

base_path=/home/chenfeic/fastdfs/tracker    ====>放置data和log的目录。这个路径必须存在

##include http.conf 修改为#include http.conf    ====> 这里一定要注意!是 #include,不是include!!! 如果没有此配置项,则不需要处理

 

启动tracker

>> /usr/local/bin/fdfs_tracker /etc/fdfs/tracker.conf

检查是否正常启动

>> netstat –anp|grep –w fdfs

看是否有输出,且22122端口已启动

2:storage配置(只需在存储节点配置,同一group节点的配置是一样的)

1)修改nginx端口(可选)

nginx 默认端口号为80,为了防止冲突,可以设置为其他端口,本示例中将其修改为8080。

修改/usr/local/nginx/conf/nginx.conf

>> vim /usr/local/nginx/conf/nginx.conf

Server {
           listen 8080(从80改为8080)

}

2)支持FastDFS模块

在nginx的server配置段中增加 /group1/M00的location声明

storage $> vim /usr/local/nginx/conf/nginx.conf

location /group1 /M00
//注意:此处如果是在group1就写成group1/M00。如果是group2节点就写group2/M00。依次类推。

root  /home/chenfeic/ fastdfs /storage/data; //必须保证路径存在,若不存在就创建

ngx_fastdfs_module;  注意这两行都有分号

}(其中/home/chenfeic/ fastdfs /storage/为storage中配置的store_path0路径,data目录一定要加上

 给 storage 的存储目录做一个软连接

> ln -s /home/chenfeic/ fastdfs /storage/data  /home/chenfeic/
fastdfs /storage /data /M00

3)修改storage配置

修改storage的配置文件storage.conf。该文件位置在/etc/fdfs/storage.conf。主要修改以下几如有其他调整,可参考FastDFS文档自行调整

group_name=group1 ====>
此台storage server所属的服务器组名。此处如果是在group1就写成group1。如果是group2节点就写group2。依次类推。

base_path=/home/chenfeic/
fastdfs /storage ====> 放置data和log的目录。此路径必须保证存在。

store_path0=/home/chenfeic/
fastdfs /storage      
====> 放置文件的目录,此路径必须保证存在,建议跟base_path保持一致(/home/chenfeic/ fastdfs /storage与nginx server段中的设置保持一致,

tracker_server=20.2.64.133:22122         ====> tracker server的ip和端口,此处可以写多个tracker
server,每行一个,因为本示例中只有一个tracker,所以只需写一个。

http.disabled=true                    ====> 关闭内置的web
server,如果有此配置项就设置,否则就不用设置。

http.server_port=8080                    ====> web server的端口改成8080(与nginx 端口一致)

4)修改fastdfs-nginx-module配置

拷贝mod_fastdfs.conf
到/etc/fdfs目录下

>>cp
/home/chenfeic/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf  /etc/fdfs/

5)修改mod_fastdfs.conf配置文件

>> vim /etc/fdfs/mod_fastdfs.conf

base_path=/home/chenfeic/
fastdfs /storage     
  ====> 放置log的目录,与storage中的配置保持一致。

tracker_server=20.2.64.133:22122         ====> tracker server的ip和端口,此处可以写多个tracker
server,每行一个,因为本示例中只有一个tracker,所以只需写一个。

group_name=group1                     ====> 此台storage
server所属的服务器组名。此处如果是在group1就写成group1。如果是group2节点就写group2。依次类推。

url_have_group_name = true             ====>
在URL中包含group名称。一定要设置true

store_path0=/home/chenfeic/
fastdfs /storage            ====> 放置文件的目录,与storage中保持一致

response_mode=proxy               
====> 对文件同步延迟的处理方式,通过redirect跳转和proxy代理两种方式解决

group_count=2       ====>group的个数,在本示例中有两个group,所以设为2

 

到此,配置已经完成,启动nginx和相关storage

>>/usr/local/nginx/nginx

>> /usr/local/bin/fdfs_storage /etc/fdfs/ storage.conf

检查是否正常启动

>> netstat –anp|grep –w
8080  看8080端口是否启动

3:测试是否正常安装

    此步骤在tracker或者storage都可以测试,本示例中在storage上测试,修改client.conf配置文件。

> vim
/etc/fdfs/client.conf

base_path=/home/chenfeic/ fastdfs

tracker_server=20.2.64.133:22122

测试

>vim hello.txt (创建一个测试的文件)

> /usr/local/bin/fdfs_test / etc/fdfs/client.conf
 upload  hello.txt

查看结果,看文件是否正确上传

 

 

可以在任何storage机器上执行如下命令,查看fastdfs集群状态,如果各个storage状态都为ACTIVE,则搭建成功。

/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf

关闭tracker(storage)

  /usr/local/bin/stop.sh /usr/local/bin/fdfs_trackered(fdfs_storaged) /etc/fdfs/tracker.conf(storage.conf)

  或者 killall fdfs_trackered(storaged)  -------注意,千万不要使用-9强行杀死进程。否则可能会导致binlog数据丢失的问题。

 重启tracker(storage)

/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackered(fdfs_storaged) /etc/fdfs/tracker.conf(storage.conf)

删除storage

 /usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf delete group2 20.12.1.73(删除group2中ip为20.12.1.73的storage)

注意:在配置过程,要注意防火墙的设置。关闭防火墙,或者设置对相关端口例外。

FastDFS安装配置手册的更多相关文章

  1. QC邮件转发工具Mail Direct安装配置手册

    QC邮件转发工具Mail Direct安装配置手册 2010-06-11 10:00:56| 分类: 软件测试 | 标签: |举报 |字号大中小 订阅 QC邮件转发工具安装配置手册 由于公司没有独立的 ...

  2. fastDFS 安装 配置 使用

    fastDFS 安装 配置 使用 关于安装 本文采用的是源码的安装方式,其他安装方式请自行百度 简单介绍 1.背景 FastDFS是一款开源的.分布式文件系统(Distributed File Sys ...

  3. Git 安装配置手册

    Git 安装配置手册 首先我们要了解 Git 是类似于 SVN 用来管理项目的 首先要先下载 Git ,这个东西相当于一个核,是该功能的核心 下载地址(<https://gitforwindow ...

  4. fastdfs 安装配置

      介绍文档   1.安装 # wget # tar xf download # cd FastDFS/ # ./make.sh 运行文件 有报错信息 compilation terminated. ...

  5. FastDFS安装配置

    FastDFS FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务 ...

  6. FastDFS_v5.05+nginx+cache集群安装配置手册

    转载请出自出处:http://www.cnblogs.com/hd3013779515/ 1.FastDFS简单介绍 FastDFS是由淘宝的余庆先生所开发,是一个轻量级.高性能的开源分布式文件系统, ...

  7. 潭州课堂25班:Ph201805201 django 项目 第三十八课 后台 文章发布,FastDFS安装 配置(课堂笔记)

    , .安装FastDFS # 从docker hub中拉取fastdfs镜像docker pull youkou1/fastdfs # 查看镜像是否拉取成功docker images # 安装trac ...

  8. Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程~(心血之作啊~~)

    http://blog.csdn.net/licongcong_0224/article/details/12972889 历时一周多,终于搭建好最新版本hadoop2.2集群,期间遇到各种问题,作为 ...

  9. Hadoop2.2.0安装配置手册

    第一部分 Hadoop 2.2 下载 Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2.官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独 ...

随机推荐

  1. 从零开始学习MySQL3---数据库的基本操作

    创建数据库 MySQL安装完成后,将会在其Data目录下自动创建几个必需的数据库 可以用  SHOW DATABASES: 来查看当前存在的数据库 创建数据库是在系统磁盘上划分一块区域用于数据的存储和 ...

  2. node案例

    http://www.cnblogs.com/wewe/archive/2010/03/19/1685658.html http://www.laonan.net/blog/69/ http://cn ...

  3. SqlTransaction的解析

    SqlTransaction的解析 2011-10-10 19:48 2757人阅读 评论(1) 收藏 举报 exceptionsql serverinsertcommandobjectstring ...

  4. 精通iOS开发(第5版)

    <精通iOS开发(第5版)> 基本信息 原书名:Beginning ios 6 development:exploring the ios sdk 作者: (美)David Mark   ...

  5. 分布式文件系统MFS(moosefs)实现存储共享(第二版)

    分布式文件系统MFS(moosefs)实现存储共享(第二版) 作者:田逸(sery@163.com) 由于用户数量的不断攀升,我对访问量大的应用实现了可扩展.高可靠的集群部署(即lvs+keepali ...

  6. 【转】模块编译Android源码方法

    原文网址:http://blog.csdn.net/androidlover1991/article/details/17014055 实际开发中,并不需要每次都编译所有源代码,只需要编译自己修改的模 ...

  7. MessageFormat.format处理单引号和大括号

    在MessageFormat.format方法中组装jason数据字符串:{code:"w1",des:"w2"},起止分别有左大括号和右大括号.方法是将单引号 ...

  8. Screen-Space Bent Cones (SSBC) in Unity5

    噪音少.高度保留了纹理细节 博主近期渲染:最近用unity5弄的一些渲染 ---- by wolf96  http://blog.csdn.net/wolf96

  9. 4种字符串匹配算法:BS朴素 Rabin-karp(上)

    字符串的匹配的算法一直都是比较基础的算法,我们本科数据结构就学过了严蔚敏的KMP算法.KMP算法应该是最高效的一种算法,但是确实稍微有点难理解.所以打算,开这个博客,一步步的介绍4种匹配的算法.也是& ...

  10. 【PHP】php+txt实现网页计数器(限IP统计方式和不限IP统计方式)

    一般的网页计数器制作实现思路:首先设定存放统计数据的文件(counter.txt)——读取文件中的内容存入字符串——自加操作——以写入方式打开文件写入数据——从文件中输出统计数据——关闭文件. 代码: ...