youli3 发表于 2015-9-10 09:43:53

FastDFS分布式文件存储

  存储能力是提供给上层业务系统以实现文件存取服务,这个存储能力为XDFS,即可扩展的分布式文件系统,实现的原理是封装了第三方的分布式存储系统实现的。
目前封装的第三方分布式系统包括FastDFS、Hadoop的HDFS,所提供的存储接口如下:
    1文件上传
    2 文件断点上传
    3 文件下载
    4 文件断点下载
    5文件删除
    6 获取文件大小
    7获取文件Http下载地址
    8 批量获取文件Http下载地址
  FastDFS适合的场景是互联网大中型企业的高并发文件存储服务,比如存储图片、音频、视频、文档等,不适合用于分布式计算,比如对大数据的统计分析。
Hadoop的HDFS适合的场景是分布式计算的存储,比如对大数据的统计分析,不适合用于高并发文件存储而快速响应的线上系统。
存储能力的使用主要分为客户端的API接口和服务器端的存储服务的部署,下面就这两部分进行详细讲解。
  1、客户端API接口:
    主要使用FileClient类加上xdfs.properties这个配置文件,具体例子请参考客户端使用例子目录下的代码。
    fastdfs-client-1.24.jar,xdfs-1.0.0.jar
    xdfs.properties内容
      file_manager=fdfs
      fdfs_tracker_server=IP:22122
      hdfs_namenode_url=hdfs://Ip:9000
      hdfs_root_path=/data
      hdfs_replication=3
      nfs_root_path=/data
  2、服务器FastDFS安装和部署:
    1)把FastDFS_v4.06.tar.gz和libevent-2.0.21-stable.tar.gz上传到linux服务器某个目录下,如上传到:/usr/local/resource
    2) 安装libevent
       cd /usr/local/resource
       tar –zxvf libevent-2.0.21-stable.tar.gz
       cd libevent-2.0.21-stable
       ./configure –prefix=/usr/local/libevent
       make
       make install
     ln –s /usr/local/libevent/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
     默认编译libevent在/usr/local/lib/
     ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
   3) 安装fastdfs
     cd /usr/local
       tar –zxvf resource/FastDFS_v4.06.tar.gz
       cd FastDFS
     ./make.sh
       ./make.sh install
 3、服务器FastDFS相关配置:
            配置文件有:tracker.conf   storage.conf   storage_ids.conf

[*]Tracker服务器配置tracker.conf和storage_ids.conf文件
1)tracker.conf主要配置:
base_path=/usr/local/data/fastdfs#路径
use_storage_id = ture                        #文件名是否使用id
storage_ids_filename = storage_ids.conf#存储id配置文件名
id_type_in_filename = id                  #使用id生成文件名
2)storage_ids.conf主要配置:   
100001   group1 192.168.0.196
[*]Storage服务器配置文件storage.conf
主要配置如下几个参数即可:
1) base_path=/usr/local/data/fastdfs
该选项设置存储数据和日志的根路径
2) group_name=group1
该选项设置该存储节点所在的组名      
3) store_path0=/usr/local/data/fastdfs         
该选项设置文件数据保存的路径
4) tracker_server=192.168.1.100:22122         
该选项设置tracker服务器地址和端口,可以设置多个,每行对应一个
4、Storage服务器架设Nginx的相关配置:
            配置文件有:nginx.conf   mod_fastdfs.conf
  1)   nginx.conf配置文件增加如下配置:
    location /M00 {
       alias /usr/local/data/fastdfs/data;
       ngx_fastdfs_module;
    }
    备注:端口保持默认的80,不要改动。
    mod_fastdfs.conf配置文件中的配置项和storage.conf保存一致。
5、启动和关闭tracker服务器:
   启动:/usr/local/bin/fdfs_tracker/etc/fdfs/tracker.conf
关闭:使用kill命令,不要加-9强杀
6、启动和关闭storage服务器:
   启动:/usr/local/bin/fdfs_storage /etc/fdfs/storage.conf
关闭:使用kill命令,不要加-9强杀


By mingjun Hou
页: [1]
查看完整版本: FastDFS分布式文件存储