Ubuntu下FastDFS环境的安装搭建
一、FastDFS简介
FastDFS是一个个人开发的、轻量级的、开源的分布式文件系统,纯C语言编写,其功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题,具有稳定、高效、易用的优点。
更多详见:FastDFS主页:http://code.google.com/p/fastdfs/
作者为版主的讨论区:http://linux.chinaunix.net/bbs/forum-75-1.html
二、安装环境
1、操作系统:Ubuntu 9.10 32bit
2、部署结构:1个tracker、1个storage(1组),PC单机(即tracker、storage均在同一台电脑上)
三、安装过程
官方安装文档:http://code.google.com/p/fastdfs/wiki/Setup
1、获取安装包:从项目主页(http://code.google.com/p/fastdfs/downloads/list )下载部署包 FastDFS_v1.29.tar.gz (FastDFS Server with PHP client extension source code V1.29, 2010-6-30最新发布版本)。
2、解压安装包,然后切换到解压后的 FastDFS 主目录执行安装,即依次执行:
- tar xzf FastDFS_v1.29.tar.gz
- cd FastDFS
- ./make.sh
- ./make.sh install
注意:
1)如果无法执行,则需要先安装gcc,Ubuntu系统可通过:sudo apt-get install gcc 安装。
2)Ubuntu系统上安装时需要将 make.sh 最后一段if去掉(从 if [ "$uname" = "Linux" ]; then 开始到倒数第2行),否则 ./make.sh install 时会报错。
3)执行./make.sh install时可能需要 root 权限。
3a、配置tracker
1)在FastDFS主目录的 conf 目录下有配置文件样例 tracker.conf,打开该文件,找到下列片段,红色 部分根据实际情况进行修改:
# the base path to store data and log files
base_path=/home/yuqing/fastdfs
2)启动tracker服务:
命令格式:/usr/local/bin/fdfs_trackerd <tracker_conf_filename>
实例:/usr/local/bin/fdfs_trackerd /FastDFS/conf/tracker.conf
3b、配置storage
1)在FastDFS主目录的 conf 目录下有配置文件样例 storage.conf,打开该文件,找到下列片段,红色 部分根据实际情况进行修改:
# the base path to store data and log files
base_path=/home/yuqing/fastdfs
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/home/yuqing/fastdfs
#store_path1=/home/yuqing/fastdfs2
# tracker_server can ocur more than once, and tracker_server format is
# "host:port", host can be hostname or ip address
tracker_server=192.168.209.121:22122
2)启动storage服务:
命令格式:/usr/local/bin/fdfs_storaged <storage_conf_filename>
实例:/usr/local/bin/fdfs_storaged /FastDFS/conf/storage.conf
第1次启动将会在所设置的存储路径下创建256个子文件夹,需要一些时间。
3)运行监控程序:
命令格式:/usr/local/bin/fdfs_monitor <storage_conf_filename>
实例:/usr/local/bin/fdfs_monitor /FastDFS/conf/storage.conf
控制台将会显示存储服务器的一些信息,类似如下:
- base_path=/FastDFS/logs, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0
- server_count=1, server_index=0
-
- tracker server is 127.0.0.1:22122
-
- group count: 1
-
- Group 1:
- group name = group1
- free space = 42 GB
- storage server count = 1
- active server count = 1
- storage_port = 23000
- storage_http_port = 8888
- store path count = 1
- subdir count per path= 256
- current write server index = 0
-
- Host 1:
- ip_addr = 127.0.0.1 (localhost) ACTIVE
- http domain =
- version = 1.29
- up time = 2010-07-20 16:52:44
- total storage = 49GB
- free storage = 42GB
- upload priority = 10
- store_path_count = 1
- subdir_count_per_path = 256
- storage_port = 23000
- storage_http_port = 8888
- current_write_path = 0
- source ip_addr =
- total_upload_count = 2
- success_upload_count = 2
- total_set_meta_count = 0
- success_set_meta_count = 0
- total_delete_count = 0
- success_delete_count = 0
- total_download_count = 0
- success_download_count = 0
- total_get_meta_count = 0
- success_get_meta_count = 0
- total_create_link_count = 0
- success_create_link_count = 0
- total_delete_link_count = 0
- success_delete_link_count = 0
- last_heart_beat_time = 2010-07-20 17:23:31
- last_source_update = 2010-07-20 17:16:43
- last_sync_update = 1970-01-01 08:00:00
- last_synced_timestamp= 1970-01-01 08:00:00
4、测试安装是否成功,上传一个文件:
1)在 storage 服务器上 ,通过提供的命令行工具进行上传:
命令格式:/usr/local/bin/fdfs_test <storage_conf_filename> <operation>
实例:/usr/local/bin/fdfs_test /FastDFS/conf/storage.conf upload /home/x.zip
控制台将会一些信息,类似如下:
- This is FastDFS client test program v1.29
-
- Copyright (C) 2008, Happy Fish / YuQing
-
- FastDFS may be copied only under the terms of the GNU General
- Public License V3, which may be found in the FastDFS source kit.
- Please visit the FastDFS Home Page http://www.csource.org/
- for more detail.
-
- base_path=/FastDFS/logs, connect_timeout=30, network_timeout=60, tracker_server_count=1, anti_steal_token=0, anti_steal_secret_key length=0
- group_name=group1, ip_addr=127.0.0.1, port=23000
- storage_upload_by_filename
- group_name=group1, remote_filename=M00/00/00/fwAAAUxFaXsAAAAAACkHPTYooKs470.zip
- source ip address: 127.0.0.1
- file timestamp=2010-07-20 17:16:43
- file size=2688829
- file url: http://127.0.0.1/group1/M00/00/00/fwAAAUxFaXsAAAAAACkHPTYooKs470.zip
- storage_upload_slave_by_filename
- group_name=group1, remote_filename=M00/00/00/fwAAAUxFaXsAAAAAACkHPTYooKs470_big.zip
- source ip address: 127.0.0.1
- file timestamp=2010-07-20 17:16:43
- file size=2688829
- file url: http://127.0.0.1/group1/M00/00/00/fwAAAUxFaXsAAAAAACkHPTYooKs470_big.zip
至此,基本的安装已经成功。
说明:
1)在 tracker 和 storage 服务器是相互独立的情况下,在完成安装步骤的1-2后,第3步根据是 tracker 或 storage 而分别执行对应的 3a 或 3b 步骤即可。
2)storage 服务器是以心跳的方式主动向 tracker 服务器汇报自己的信息的,所以启动 tracker 和 storage 的顺序是任意的。
参见网址: http://www.linuxidc.com/Linux/2010-07/27337.htm