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强杀