zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    数值的格式化
    最近开发的一个多功能选择器
    OCI22053: 溢出错误的原因和解决方法
    js的四舍五入问题
    Vista 下先安装 VS 再装 IIS 7 运行出现 500.19 Error 的解决方法
    最近开发的一个多功能选择器2
    Oracle REF Cursor 用法(转帖)
    Oracle 查询历史数据(转帖)
    HDU 1203 I NEED A OFFER! 动态规划(01背包)
    HDU 1160 FatMouse's Speed 动态规划
  • 原文地址:https://www.cnblogs.com/jiwuyf/p/3796047.html
Copyright © 2011-2022 走看看