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

你可能感兴趣的:(fastDFS)