轻量级分布式文件系统FastDFS使用安装说明手册(新手入门级)

轻量级分布式文件系统FastDFS使用安装说明手册(新手入门级)

实验室所在的课题组以研究云计算为主,但所有的研究都是在基于理论的凭空想像,缺少分布式环境的平台的实践,云计算神马的都是浮云了。因此,我想借助Hadoop把实验室的服务器搭建出一个基础的分布式实验环境,方便于以后进行实验测试神马的。无意中,看到了一款开源的轻量级分布式文件系统FastDFS,它是用纯C语言实现,详细信息可参见博客:分布式文件系统FastDFS架构剖析。通过收集资料,自己动手做了一些安装和测试使用,现在对前人的一些经验进行一些总结。

一、FastDFS的安装过程

1)准备工作-安装libevent

FastDFS 内部绑定了 libevent 作为 http 服务器 ,在V2.X版本必须安装 libevent ,本文安装的是V2.2版本,因此必须安装libevent。官方也推荐使用 http 方式下载文件。

如果已经安装了 libevent,请确认安装路径是 /usr , 因为 FastDFS 在编译源程序时,需要到此目录下查找一些依赖文件,否则编译FastDFS 会出错 。如果不是,建议首先卸载 libevent ,然后安装到 /usr 下。Ubuntu10.4默认是安装了libevent,可以到软件中心卸载掉然后按照下面介绍的方式安装。本文安装的是 libevent1.4.14b-stable,下载地址:http://monkey.org/~provos/libevent/

安装步骤:

tar vxzf libevent1.4.14b-stable.tar.gz

./configure --prefix=/usr

make clean;

make

make install

安装libevent完成。

2)安装 FastDFS

1、下载 FastDFS 源程序,下载地址 http://code.google.com/p/fastdfs/downloads/list ,这里下载的是 FastDFS_v2.04.tar.gz ,建议安装V2.X版本,比V1.X版本更加稳定且性能提升明显)、

2、在 FastDFS_v2.04.tar.gz 所在文件夹下执行:

tar vxzf FastDFS_v2.04.tar.gz /home/monkey/FastDFS

tar vxzf FastDFS_v2.04.tar.gz /home/monkey/FastDFS

注:/home/monkey/FastDFS 也可以是其他目录,记住这是解压目录,以后用 %FastDFS% 表示)

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

4、进入 %FastDFS% 目录,执行:

./make.sh

./make.sh

5、在 %FastDFS% 目录下,执行:

./make.sh install

./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

#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:211.69.205.1。

1)配置及启动Tracker Server

1、修改%FastDFS%/conf/tracker.conf文件,修改如下:

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

base_path=/home/yuqing/fastdfsàbase_path=/home/monkey/fastdfs_tracker

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

http.server_port=8080àhttp.server_port=8090

#http支持

##include http.confà#include http.conf

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

reserved_storage_space = 4GBàreserved_storage_space = 1GB

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

port=22122

2、将http.conf文件拷贝到/etc/fdfs目录下,执行:

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

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

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

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

fdfs_trackerd %FastDFS%/conf/tracker.conf

dfs_trackerd %FastDFS%/conf/tracker.conf

4、进入/home/soar/fastdfs_tracker/logs/trackerd.log查看tracker的启动日志,如果看到类似:

[2010-11-26 21:33:44] INFO - FastDFS v2.04, base_path=/home/monkey/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=1024MB, 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-26 21:33:44] 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已经启动成功!

2)配置及启动Storage Server

1、修改%FastDFS%/conf/storage.conf文件,修改如下:

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

base_path=/home/yuqing/fastdfsà/home/monkey/fastdfs_storge

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

store_path0=/home/yuqing/fastdfsàstore_path0=/home/monkey/fastdfs_storge

#必须指定

group_name=group1

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

tracker_server=192.168.209.121:22122àtracker_server=211.69.205.1:22122

#http支持

##include http.confà#include http.conf

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

fdfs_storaged %FastDFS%/conf/storage.conf

3、进入/home/monkey/fastdfs_tracker/logs/storage.log查看storage服务器启动日志,如果看到类似:

[2010-11-26 21:38:59] INFO - FastDFS v2.04, base_path=/home/monkey/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-26 21:38:59] 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-26 21:39:29] INFO - file: storage_param_getter.c, line: 48, storage_ip_changed_auto_adjust=1

[2010-11-26 21:39:30] INFO - file: tracker_client_thread.c, line: 274, successfully connect to tracker server 211.69.205.1:22122, as a tracker client, my ip is 211.69.205.1

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

三、FastDFS使用举例说明

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

1)上传文件

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

1、修改%FastDFS%/conf/client.conf文件,修改如下:

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

base_path=/home/yuqing/fastdfsàbase_path=/home/monkey/fastdfs_tracker

tracker_server=192.168.209.121:22122àtracker_server=211.69.205.1:22122

http.tracker_server_port=8080àhttp.tracker_server_port=8090

##include http.confà#include http.conf

2、进入/usr/local/bin/目录,上传文件,执行:

fdfs_test %FastDFS%/conf/client.conf upload monkey.txt

注:monkey.txt可以在/usr/local/bin/目录下自己创建一个。

如果命令行反馈类似如下,则说明上传文件成功。

2)下载文件

在浏览器中,输入上图中的url地址, tracker server会自动重定向到存储文件的storage server,文件下载成功。至此,已经成功搭建了FastDFS,编写你自己的client来进行访问吧:)

时间: 2024-08-14 03:31:01

轻量级分布式文件系统FastDFS使用安装说明手册(新手入门级)的相关文章

分布式文件系统Fastdfs 详细安装笔记

Fastdfs安装教程 1.环境 操作系统 Centos 7.0 X64最小化安装 Track1 :192.168.121.131 Track2 :192.168.121.132 Storage1 :192.168.121.133 Storage1 :192.168.121.134 FastDFS 下载地址 https://sourceforge.net/projects/fastdfs/files/?source=navbar 2.在Track上安装fastdfs 首先,安装依赖包 yum i

【架构设计】分布式文件系统 FastDFS的原理和安装使用

本文地址 分享提纲: 1.概述 2. 原理 3. 安装 4. 使用 5. 参考文档 1. 概述 1.1)[常见文件系统] Google了一下,流行的开源分布式文件系统有很多,介绍如下: -- mogileFS:Key-Value型元文件系统,不支持FUSE,应用程序访问它时需要API,主要用在web领域处理海量小图片,效率相比mooseFS高很多. -- fastDFS:国人 余庆老师(GitHub)在mogileFS的基础上进行改进的key-value型文件系统,同样不支持FUSE,提供比mo

记录:CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1

CentOS 7 安装配置分布式文件系统 FastDFS 5.1.1 软件下载:http://download.csdn.net/download/qingchunwuxian1993/9897458 yum-y install net-tools.x86_64 前言 项目中用到文件服务器,有朋友推荐用FastDFS,所以就了解学习了一番,感觉确实颇为强大,在此再次感谢淘宝资深架构师余庆大神开源了如此优秀的轻量级分布式文件系统,本篇文章就记录一下FastDFS的最新版本5.1.1在CentOS7

FastDFS轻量级分布式文件系统部署

FastDFS介绍 FastDFS 是一个由 C 语言实现的开源轻量级分布式文件系统,作者余庆,支持 Linux.FreeBSD.AID 等 Unix 系统,解决了大数据存储和读写负载均衡等问题,适合存储 4KB~500MB 之间的小文件,如图片网站.短视频网站.文档.app 下载站等,UC.京东.支付宝.迅雷.酷狗等都有使用. FastDFS上传下载的流程 4.4 利用Java客户端调用FastDFS 服务器安装完毕后,咱们通过Java调用fastdfs 加载Maven依赖 fastdfs 没

FastDFs 开源的轻量级分布式文件系统部署

1.技术背景介绍; FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相册网站.视频网站等等.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务. 2.基础环境介绍; 主机名 IP地址规划 相关软件源码包汇总 服务器角

分布式文件系统fastDFS部署

一.部署环境:(CentOS 6.9) tracker server:10.10.1.105 storage server:10.10.1.106  10.10.1.107 client:10.10.1.105 二.FastDFS: 开源的轻量级分布式文件系统: 三个角色: tracker server :跟踪服务器,调度,在内存中记录所有存储组和存储服务器的状态信息: tracker.conf storage server :存储服务器,文件(data)和文件属性(metadata),一组服务

分布式文件系统fastDFS

分布式文件系统fastDFS 1.什么是FastDFS FastDFS是一个开源的轻量级分布式文件系统.它解决了大数据量存储和负载均衡等问题.特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务,如相册网站.视频网站等等.在UC基于FastDFS开发向用户提供了:网盘,社区,广告和应用下载等业务的存储服务. 2.FastDFS架构和原理 FastDFS服务端有三个角色:跟踪服务器(tracker server).存储服务器(storage server)

分布式文件系统FastDFS如何做到高可用

FastDFS是用C语言编写的一款开源的轻量级分布式文件系统.它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相册网站.视频网站等等. FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务. 与Hadoop有什么区别? Hadoop也是一个分布式文件系统,hadoo

分布式文件系统 FastDFS 简介 (1)

FastDFS 基本介绍: 1.开源的轻量级分布式文件系统 2.C++语言研发 3个角色: (1)tracker (2)storage server (3)client tracker server:跟踪服务器,调度:在内存中记录所有存储组和存储服务器的状态信息,不会保留任何元数据 storage server:存储服务器,文件( data )和文件属性( meta data ),以本地文件系统为接口(和mogilefs类似) client:客户端,业务请求发起方,通过专用接口基于tcp协议与t