linux下安装和配置FastDFS
本文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
如无意外应该看到下图
C、验证进程和查看日志
ps -ef验证进程之后more /fastdfs/fastdfs_storge/logs/storaged.log查看storage服务器启动日志,如果看到类似
则storage server已经启动成功!
3.验证及使用
经过前面的安装、配置、启动,马上就可以看到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
如果命令行反馈类似如下:
出现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://opswill.com/articles/how-to-install-and-configure-fastdfs-tracker-and-storage.html
4.参考文档
官网 http://code.google.com/p/fastdfs/
官方论坛 http://bbs.chinaunix.net/forum-240-1.html(有配置文件详解)
http://blog.csdn.net/poechant/article/details/6995697