`

FastDFS安装配置手册

 
阅读更多

fastdfs架构原理:http://www.ciotimes.com/ea/application/40600.html

 

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

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

group1:

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

storage2: 20.12.1.73。

group2:

storage2:20.12.1.74

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

安装之前先要下载一下安装包:

FastDFS_v4.06.tar.gz

libevent-2.0.20-stable.tar.gz

fastdfs-nginx-module_v1.15.tar.gz

nginx-1.4.4.tar.gz

pcre-8.33.tar.gz

zlib-1.2.8.tar.gz

 

源码下载:http://code.google.com/p/fastdfs
寻求帮助:http://www.csource.org

 

第一步安装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)若有结果,则说明安装正确

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

 

第二步安装FastDFS

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

安装FastDFS

>> tar zvxf FastDFS_v4.06.tar.gz

>> cd FastDFs

>> ./make.sh

>> ./make.sh install

 

当执行./make.sh时如果报如下错误

/home/FastDFS/FastDFS/tracker/../common/sched_thread.c:493: undefined reference to `pthread_create' ../common/pthread_func.o: 
In function `init_pthread_lock': /home/FastDFS/FastDFS/tracker/../common/pthread_func.c:32: undefined reference to `pthread_mutexattr_init' 
/home/FastDFS/FastDFS/tracker/../common/pthread_func.c:40: undefined reference to `pthread_mutexattr_settype' 
/home/FastDFS/FastDFS/tracker/../common/pthread_func.c:57: undefined reference to `pthread_mutexattr_destroy' ../common/pthread_func.o:
 In function `init_pthread_attr': /home/FastDFS/FastDFS/tracker/../common/pthread_func.c:84: undefined reference to `pthread_attr_getstacksize' 
/home/FastDFS/FastDFS/tracker/../common/pthread_func.c:115: undefined reference to `pthread_attr_setstacksize' ../common/pthread_func.o: 
In function `create_work_threads': /home/FastDFS/FastDFS/tracker/../common/pthread_func.c:156: undefined reference to `pthread_create' 
../common/pthread_func.o: 
In function `kill_work_threads': /home/FastDFS/FastDFS/tracker/../common/pthread_func.c:182: undefined reference to `pthread_kill' 
collect2: ld 返回 1 make: *** [fdfs_monitor] 错误 1 

 经过在网上的查找得知:其实是不同的系统中pthread位置不一样,做法就是找到你的系统中所需要的libpthread.so文件位置,直接find就可以找到了;

>> find / -name 'libpthread.a'
/usr/lib/i386-linux-gnu/xen/libpthread.a
/usr/lib/i386-linux-gnu/libpthread.a
>> find / -name 'libpthread.so'
/usr/lib/i386-linux-gnu/libpthread.so
接着直接在make.sh中找到这句话然后替换掉就可以了:

 if [ -f /usr/lib/libpthread.so ] || [ -f /usr/local/lib/libpthread.so ] ||
 [ -f /usr/lib64/libpthread.so ] || [ -f /usr/lib/libpthread.a ] || 
[ -f /usr/local/lib/libpthread.a ] || [ -f /usr/lib64/libpthread.a ];
 then   LIBS="$LIBS -lpthread" 

 

 

注意上面两步,检查是否出错,如果出错,则说明上面的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_trackerd /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

检查一下组配置是否正确(如果一个组就配置一个,多个就配置多个组):

[group1]  
group_name=group1
storage_server_port=23000
store_path_count=1
store_path0=/home/chenfeic/fastdfs/storage

 

 

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

>> /usr/local/nginx/nginx

>> /usr/local/bin/fdfs_storaged /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)

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

 

 

 

 参考文档:http://www.cnblogs.com/chenfei0801/p/3446697.html

分享到:
评论

相关推荐

    FastDFS安装手册

    本手册详细介绍了在Linux环境下如何安装FastDFS的关键组件,包括libevent库的安装、FastDFS本身的安装及其配置过程。特别强调了TrackerServer和StorageServer的安装与配置步骤。 #### 二、libevent安装详解 1. **...

    Java Centos7上fastdfs安装详细手册

    ### Java Centos7上fastdfs安装详细手册 #### 一、安装libfastcommon和FastDFS **1. 下载并安装libfastcommon** - **下载libfastcommon**: ```bash wget ...

    FastDFS 5.05 + nginx + cache 集群安装配置手册

    ### FastDFS 5.05 + nginx + cache 集群安装配置详解 #### 一、安装 **FastDFS** 是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载等),解决了...

    fastdfs的安装手册说明+配置文件+fastdfs安装包+nginx安装包

    本安装手册将详细介绍如何在Linux环境中安装与配置FastDFS,以及与Nginx的集成。 一、FastDFS简介 FastDFS提供了文件存储、文件同步、文件访问(文件上传、文件下载)等功能,特别适合以文件为载体的在线服务。其...

    白鹤翔 fastdfs集群安装手册

    白鹤翔 架构师 nginx+fastdfs 集群安装手册 集群安装 生产环境 最好跨网段 跨机房 跨地域进行配置,以防万一: 192.168.1.173 tarcker-group1 192.168.1.174 tarcker-group2 192.168.1.175 storage-group1-1 192....

    keepalived+nginx+fastdfs集群安装手册

    《keepalived+nginx+fastdfs集群安装手册》是一份详尽的IT技术文档,旨在指导用户构建基于这三个组件的高可用集群环境。这个集群方案主要用于实现网站服务的负载均衡和文件存储,确保服务的稳定性和数据的安全性。...

    FastDFS超详细安装手册

    ### FastDFS超详细安装手册 #### 一、安装FastDFS环境 FastDFS 是一款轻量级的开源分布式文件系统,适用于大规模数据存储场景。本文档将详细介绍如何在Linux环境下安装和配置FastDFS,并通过Nginx环境进行图像上传...

    FastDFS 5.01 + nginx + cache 集群安装配置手册

    ### FastDFS 5.01 + Nginx + Cache 集群安装配置知识点解析 #### 一、FastDFS 概述与环境准备 **FastDFS**是一款开源的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、负载均衡等。FastDFS适合...

    fastdfs 5.01 + nginx + cache 集群安装配置手册

    在本手册中,我们将详细介绍如何在集群环境中安装配置FastDFS,结合Nginx实现高效缓存,以提升文件访问速度。 **一、安装** **1. 下载FastDFS安装包** 首先,你需要从FastDFS的官方网站或者GitHub等源获取最新的...

    FastDFS单点安装.

    同时,01_FastDFS配置手册tracker.conf.txt和02_FastDFS配置手册storage.conf.txt提供了配置文件的示例和解释,libfastcommon-master.zip包含了FastDFS的公共库。 在实际部署过程中,我们可能需要根据服务器资源和...

    fastdfs+Nginx+cache集群安装配置

    【FastDFS+Nginx+Cache集群安装配置】是构建高效、稳定、可扩展的文件存储和Web服务解决方案的重要步骤。...提供的FastDFS_5.01___nginx___cache_集群安装配置手册.zip文件应该包含详细的步骤和示例,可供参考和实践。

    fastdfs单节点安装手册.rar_fastdfs_fastdfs、nginx_tracker

    本手册将详细阐述如何在单节点环境下安装并配置FastDFS,包括其核心组件Tracker、Storage以及与Nginx的集成。 一、FastDFS架构基础 FastDFS由两个主要组件构成:Tracker Server和Storage Server。Tracker Server...

    FASTdfs单机搭建手册1

    总结来说,搭建单机版FastDFS主要涉及libfastcommon和FastDFS的下载、编译、安装,以及对Tracker Server的配置。理解每个步骤的作用,并按照正确顺序操作,就能成功搭建起一个基本的FastDFS环境,为后续的文件上传、...

    fastDFS集群版安装手册1

    【FastDFS集群版安装手册】 FastDFS是一款开源的高性能、轻量级的分布式文件系统,主要解决大容量存储和负载均衡的问题。FastDFS为互联网应用提供了一个高效且可靠的文件存储解决方案。本文档将详细介绍如何在...

    02_FastDFS配置手册storage.conf .txt

    配置手册

Global site tag (gtag.js) - Google Analytics