存储能力是提供给上层业务系统以实现文件存取服务,这个存储能力为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
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