Ubuntu下FastDFS安装以及配置

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问等,解决了大容量存储和负载均衡的问题,本文我们讲解一下在Ubuntu系统下FastDFS的安装、配置。

一、FastDFS安装

目前FastDFS支持类Unix系统 ,在Linux和FreeBSD下测试过,本文使用的是Ubuntu14.04 LTS64位版本,建议安装之前先简单了解一下FastDFS的原理 ,这对后继的配置部分会有很好的理解。

1、准备工作-安装libevent

FastDFS 内部绑定了 libevent 作为 http 服务器 ,所以我们可以直接使用Ubuntu的 apt-get install libevent-dev 命令,直接安装libevent。除此之外,也可以到libevent官网[1]下载libevent再解压安装,在此不详说。

2、安装 FastDFS

①下载 FastDFS 源程序,下载地址 fastdfs[2] 或者 fastdfs[4],或者也可以到官网Google Code上下载最新的[3],这里使用的是 FastDFS_v3.11.tar.gz 。

②在 FastDFS_v3.11.tar.gz 所在文件夹下执行:sudo tar -zxvf FastDFS_v3.11.tar.gz 
注: 这里的解压目录为当前目录,也可以解压后放到其它目录,以后用 %FastDFS% 表示解压出来的FastDFS文件夹的路径,如 /home/ubuntu/John/FastDFS)

③由于要使用内置的 http 服务,因此编辑 %FastDFS%/make.sh 文件,找到
#WITH_HTTPD=1
修改成
WITH_HTTPD=1
以支持 http

④安装make:sudo apt-get install make

⑤更改pthread位置,运行命令:find / -name 'libpthread.so' ;返回的结果为:/usr/lib/x86_64-linux-gnu/libpthread.so ,运行命令:find / -name 'libpthread.a' ;返回的结果为:/usr/lib/x86_64-linux-gnu/libpthread.a ,进行对 %FastDFS%/make.sh 
的第103行:
if [ -f /usr/lib/libpthread.so ] || [ -f /usr/local/lib/libpthread.so ] || [ -f /lib64/libpthread.so ] || [ -f /usr/lib64/libpthread.so ] || [ -f /usr/lib/libpthread.a ] || [ -f /usr/local/lib/libpthread.a ] || [ -f /lib64/libpthread.a ] || [ -f /usr/lib64/libpthread.a ]; then
修改,将第一个 /usr/lib/libpthread.so 改为 /usr/lib/x86_64-linux-gnu/libpthread.so ,将第一个 /usr/lib/libpthread.a 改为 /usr/lib/x86_64-linux-gnu/libpthread.a 。

⑥进入 %FastDFS% 目录,执行:sudo ./make.sh  

⑦修改 %FastDFS%/client/fdfs_link_library.sh.in 文件,将第24行的
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib64/libfastcommon.so 改为:
ln -fs $TARGET_LIB/libfastcommon.so.1 /usr/lib/libfastcommon.so
将第25行的
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib64/libfdfsclient.so 改为:
ln -fs $TARGET_LIB/libfdfsclient.so.1 /usr/lib/libfdfsclient.so

⑧在 %FastDFS% 目录下,执行:sudo ./make.sh install  

⑨如果运行如上命令后,在命令行信息最后看到类似
#ln -fs /usr/local/lib/libfastcommon.so.1 /usr/local/lib/libfastcommon.so  
#ln -fs /usr/local/lib/libfdfsclient.so.1 /usr/local/lib/libfdfsclient.so  
sh ./fdfs_link_library.sh  
恭喜你,已经安装成功了!


二、FastDFS配置

FastDFS的配置文件在%FastDFS%/conf目录下,其中包括
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:10.0.2.15

1、修改fastdfs的secret_key
修改%FastDFS%/conf/http.conf文件,将第21行
http.anti_steal.secret_key=FastDFS1234567890 等号后面的字段改为自定义的secret_key

2、配置及启动Tracker Server

①修改%FastDFS%/conf/tracker.conf文件,修改如下
#可以自己指定目录位置,但目录必须存在,用于存储日志及storage server等信息,否则tracker server无法启动

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

#改成你想要的http端口,将来http下载文件的端口就是他了

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

 #http支持

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

 #默认4GB,如果空间不足,建议调小,否则会报no free space的异常,无法正常启动,如果空间够大,建议设置为10GB

    reserved_storage_space = 4GB -> reserved_storage_space = 10GB    

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

    port=22122  
 
②将http.conf文件拷贝到/etc/fdfs目录下,执行

    sudo cp %FastDFS%/conf/http.conf /etc/fdfs/  

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

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

    sudo fdfs_trackerd %FastDFS%/conf/tracker.conf  

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

    [2010-11-04 16:21:25] INFO - FastDFS v2.02, base_path=/home/soar/fastdfs_tracker, connect_timeout=30s, network_timeout=60s, port=22122, bind_addr=, max_connections=256, work_threads=4, store_lookup=2, store_group=, store_server=0, 

store_path=0, reserved_storage_space=4MB, download_server=0, allow_ip_count=-1, sync_log_buff_interval=10s, check_active_interval=120s, thread_stack_size=64 KB, storage_ip_changed_auto_adjust=1, storage_sync_file_max_delay=86400s, 

storage_sync_file_max_time=300s  
    [2010-11-04 16:21:25] INFO - HTTP supported: server_port=8090, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, token_check_fail buff 

length=0, check_active_interval=30, check_active_type=tcp, check_active_uri=/status.html  
恭喜你,tracker server已经启动成功!

3、配置及启动Storage Server

①修改%FastDFS%/conf/storage.conf文件,修改如下:
#可以自定义,但必须存在此目录,用于存储storage相关的log、group内的相关信息

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

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

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

#必须指定

    group_name=group1   

#修改成tracker server的IP和端口信息,根据自己服务器的IP配置

    tracker_server=192.168.209.121:22122 -> tracker_server=10.0.2.15:22122  

#http支持

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

②进入/usr/local/bin/目录,启动storage服务器,执行

    sudo fdfs_storaged %FastDFS%/conf/storage.conf  

③进入/home/fastdfs/logs/storage.log查看storage服务器启动日志,如果看到类似

    [2010-11-04 16:37:16] INFO - FastDFS v2.02, base_path=/home/soar/fastdfs_storge, store_path_count=1, subdir_count_per_path=256, group_name=group1, connect_timeout=30s, network_timeout=60s, port=23000, bind_addr=, client_bind=1, 

max_connections=256, work_threads=4, disk_rw_separated=1, disk_reader_threads=1, disk_writer_threads=1, buff_size=256KB, heart_beat_interval=30s, stat_report_interval=60s, tracker_server_count=1, sync_wait_msec=200ms, sync_interval=0ms, 

sync_start_time=00:00, sync_end_time=23:59, write_mark_file_freq=500, allow_ip_count=-1, file_distribute_path_mode=0, file_distribute_rotate_count=100, fsync_after_written_bytes=0, sync_log_buff_interval=10s, 

sync_binlog_buff_interval=60s, sync_stat_file_interval=300s, thread_stack_size=512 KB, upload_priority=10, if_alias_prefix=, check_file_duplicate=0, FDHT group count=0, FDHT server count=0, FDHT key_namespace=, FDHT keep_alive=0, HTTP 

server port=8888, domain name=  
    [2010-11-04 16:37:16] INFO - HTTP supported: server_port=8888, http_trunk_size=262144, default_content_type=application/octet-stream, anti_steal_token=0, token_ttl=0s, anti_steal_secret_key length=0, token_check_fail content_type=, 

token_check_fail buff length=0  
    [2010-11-04 16:37:16] INFO - file: storage_param_getter.c, line: 48, storage_ip_changed_auto_adjust=1  
    [2010-11-04 16:37:19] INFO - file: tracker_client_thread.c, line: 274, successfully connect to tracker server 10.0.2.15:22122, as a tracker client, my ip is 10.0.2.15  

恭喜你,storage server已经启动成功!


至此您已经成功安装并配置fastdfs了!


参考资料:
1、http://libevent.org/
2、http://download.csdn.net/detail/john159151/9561033
3、http://code.google.com/p/fastdfs/downloads/list
4、http://218.249.73.246:8888/group1/M00/00/ED/wKgBZ1dw-HijC1rwAAWp7X_1XGc8447.gz



本文是以http://www.111cn.net/sys/Ubuntu/90770.htm的博文为基础,对于某些部分加上自己的体会以及修改所写,
以上均为个人见解,因本人水平有限,如发现有所错漏,敬请指出,谢谢!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值