http://www.52os.net/how-to-install-and-configure-fastdfs-tracker-and-storage.html

linux下安装和配置FastDFS

2013年5月31日 由 admin留言 »

本文FastDFS安装环境:

Centos6.2 64位 

GCC

FastDFS 3.06

libevent  2.0.17-stable (FastDFS依赖包)

Tracker Server,Storage Server都安装在一台服务器上,IP:192.168.1.44

一、安装

1.1 准备

FastDFS 安装文件 、libevent 包

官网:

FastDFS :  http://code.google.com/p/fastdfs/

Libevent :   http://libevent.org/

下载:

wget  https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz

wget http://fastdfs.googlecode.com/files/FastDFS_v3.06.tar.gz


1.2 安装Libevent

  tar -xvf libevent-2.0.17-stable.tar.gz

cd libevent-2.0.17-stable

源码安装

./configure –prefix=/usr  

make clean

make  

make install

1.3 安装FastDFS

tar -xvf FastDFS_v3.06.tar.gz

cd FastDFS

./make.sh    (如果需要HTTP支持,将make.sh中”# WITH_HTTPD=1″的#去掉)

./make.sh install

安装结束 运行 /usr/local/bin/fdfs_trackerd 如果显示

Usage: /usr/local/bin/fdfs_trackerd <config_file>

则安装成功

PS:

如果提示找不到libevent-2.0.so.5 则:

1.

64位系统

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

32 位系统

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

2.

如果执行上面的ln -s 操作仍然提示找不到libevent-2.0.so.5 则删除

/usr/lib(64)/libevent-2.0.so.5执行下面的操作

64位

cp /opt/libevent-2.0.17-stable/.libs/libevent-2.0.so.5 /usr/lib64/

32位

cp /opt/libevent-2.0.17-stable/.libs/libevent-2.0.so.5 /usr/lib/

二、配置

FastDFS的配置文件在%解压目录%/conf目录下(本例中安装成功后会在/etc/fdfs/下自动生成),其中包括

Client.conf                客户端上传配置文件

Storage.conf    文件存储服务器配置文件

Tracker.conf    负责均衡调度服务器配置文件

     http.conf          http服务器配置文件

配置文件需要根据服务器环境的不同,进行不同的配置,具体可以参考FastDFS官方的安装配置文档

http://code.google.com/p/fastdfs/wiki/Setup

以及FastDFS原理介绍文档

http://code.google.com/p/fastdfs/wiki/Overview

在本例中,Tracker Server,Storage Server都安装在一台服务器上,IP:192.168.1.44

2.1 配置及启动Tracker Server

A、修改/etc/fdfs/tracker.conf文件,修改如下

#可以自己指定目录位置,但目录必须存在,用于存储日志及storage server等信息,否则tracker server无法启动

base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/fastdfs_tracker   

#改成你想要的http端口,将来http下载文件的端口就是他了,本例中没有更改还是用8080

http.server_port=8080 -> http.server_port=8090   

#http支持

##include http.conf -> #include http.conf   

#默认4GB,如果空间不足,建议调小,否则会报no free space的异常,无法正常启动,本例没有改,仍为4GB

reserved_storage_space = 4GB -> reserved_storage_space = 1GB    

#tracker server对storage server供服务的端口,使用默认的即可,也可以自定义 本例中使用默认

port=22122  

B、将http.conf文件拷贝到/etc/fdfs目录下,(确保/etc/fdfs下有httpd.conf文件)执行

cp %解压目录%/conf/http.conf /etc/fdfs/  

注:为了支持http,必须将这个文件拷贝到此目录,否则无法启动,报param http.XXX not exist or is empty类似的错误

C、进入/usr/local/bin/目录,启动tracker服务器,执行

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

D、查看进程和日志

ps -ef 查看进程,如果有进程则看日志是否有错误

进入/fastdfs/fastdfs_tracker/logs/trackerd.log查看tracker的启动日志,如果看到类似

则tracker server已经启动成功!

2.2 配置及启动Storage Server

A、修改/etc/fdfs/storage.conf文件,修改如下:

#可以自定义,但必须存在此目录,用于存储storage相关的log、group内的相关信息

    base_path=/home/yuqing/fastdfs -> /fastdfs/fastdfs_storge

#文件的存储位置,在一台storage server上可以指定多个存储位置

store_path0=/home/yuqing/fastdfs -> store_path0=/fastdfs/fastdfs_storge/storge1

                                    store_path0=/fastdfs/fastdfs_storge/storge2

#必须指定group name

    group_name=group1  

#修改成tracker server的IP和端口信息

   tracker_server=192.168.209.121:22122 -> tracker_server=192.168.1.44:22122

#http支持

   ##include http.conf ->#include http.conf

B、启动storage服务器,执行

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

如无意外应该看到下图

Fastdfs storage server installing screen

C、验证进程和查看日志

ps -ef验证进程之后more /fastdfs/fastdfs_storge/logs/storaged.log查看storage服务器启动日志,如果看到类似

storage server已经启动成功!

三、验证及使用

经过前面的安装、配置、启动,马上就可以看到FastDFS的效果了,我们先上传一个文件,然后再通过http下载。

3.1 上传文件

FastDFS安装包中,自带了客户端程序,通过程序可以进行文件上传。在使用这个客户端程序之前,首先需要配置client.conf,然后再进行文件上传及下载。

1、修改/etc/fdfs/client.conf文件,修改如下:

#可自定义,但此目录必须存在,用于存放文件上传log

base_path=/home/yuqing/fastdfs-> base_path=/fastdfs/fastdfs_client

#改tracker的ip

tracker_server=192.168.0.197:22122->tracker_server=192.168.1.44:22122

#改端口,本例没有改

http.tracker_server_port=8080 ->http.tracker_server_port=8090

#支持http

##include http.conf ->#include http.conf

2、上传文件

 

先创建一个名为aaa的文件 touch /tmp/aaa

之后执行

/usr/local/bin/fdfs_test /etc/fdfs/client.conf upload /tmp/aaa

如果命令行反馈类似如下:

Fastdfs client upload success screen


出现file url 则说明上传文件成功。

3.2 下载文件

    可以用默认客户端也可以自己集成,用自带默认客户端 在编译时要开启http支持,并在storage.conf、 tracker.conf 中开启http 支持,本文用默认客户端。

   在浏览器中,输入上图中的url地址, tracker server会自动重定向到存储文件的storage server,文件下载成功。

至此,已经成功搭建了FastDFS

    

     ps :  通过上传下载文件验证功能比较麻烦,Fastdfs 有提供一个叫fdfs_monitor的工具可以查看fastdfs的详细工作状态,如果工作不正常会提示有错误,例如:

1.查看storage的工作状态:fdfs_monitor  /etc/fdfs/storage.conf

2.查看fastdfs的工作状态 :fdfs_monitor  /etc/fdfs/client.conf

查看tracker的工作状态和第2步是一样的,不能用fdfs_monitor /etc/fdfs/tracker.conf 来查看,否则会报错.

根据已上步骤的shell脚本见:   http://www.52os.net/fastdfs-auto-install-shell-script.html

四、参考文档

官网         http://code.google.com/p/fastdfs/

官方论坛   http://bbs.chinaunix.net/forum-240-1.html(有配置文件详解)

http://blog.csdn.net/poechant/article/details/6995697



Logo

更多推荐