CentOS 6:安装FastDFS搭建图片服务器

FastDFS是开源的高性能分布式文件系统

主要功能:文件存储 文件同步 文件访问 以及高容量和负载均衡 目的是为了解决海量的数据存储问题 适合4KB到500MB之间的文件

FastDFS的主要角色:

1.Tracker Server(跟踪服务器)

2.Storage Server(存储服务器)

3.Client(客户端)


1.Tracker 主要做调度工作 起到均衡作用 管理所有的Storager(用组(group)为单位 每个group可以包含多个Storager)

每个storager启动后会连接Tracker 告诉Tracker自己所属group的信息 连接要保持心跳

2.Storager 主要提供容量和备份的服务

3.Client 上传下载数据的服务器 我们项目部署所在的服务器

Storage群下的每个Storager的文件是相互独立 每个Storager的累加总容量就是Storager群的总容量

一个Storager下可以由一台或多台存储服务器组成 但每个存储服务器中的文件是相同的 可以起到备份和负载均衡的作用

由于一个Storager下的文件都要保持相同 所以每个存储服务器必须保持文件的同步

Storager群下的容量不足时 可以增加Storager来扩充容量

Storage Server会定期向Tracker发送自己的存储信息 由于Tracker Server中每个Tracker的关系是对等的

所以客户端请求上传数据的时候 可以选择任意一个Tracker来处理上传请求 请求建立后 Tracker会选择

一个group中的一个Storage分配存储目录来存储数据 然后为上传的数据分配一个fileid 并生成存储文件 名


一个group中某个Storage中存储了新文件 group中的Storage需要保持同步

每个storage写文件后 同时会写一份binlog binlog里不包含文件数据 只包含文件名等元信息 这份binlog用于后台同步

storage会记录向group内其他storage同步的进度 以便重启后能接上次的进度继续同步 

进度以时间戳的方式进行记录 所以最好能保证集群内所有server的时钟保持同步

storage的同步进度会作为元数据的一部分汇报到tracker上 tracke在选择读storage的时候会以同步进度作为参考


文件下载:


下载时客户端可以选择任意tracker server
tracker发送download请求给某个tracker 必须带上文件名信息 tracke从文件名中解析出文件的group 大小 创建时间等信息

然后为该请求选择一个storage用来服务读请求


安装环境(单机版 tracker和storage在同一台虚拟机下):

虚拟机

CentOS 6.9 64位


1.安装libfastcommon

tar -zxvf libfastcommonV1.0.7.tar.gz 

cd libfastcommon-1.0.7/

./make.sh

./make.sh install

由于libfastcommon安装后 会将libfastcommon.so赋值到/usr/lib64下 而FastDFS引用的位置是/usr/lib下的libfastcommon.so

所以安装后需要将libfastcommon.so拷贝到/usr/lib下


2.安装FastDFS(tracker + storage)

tar -zxvf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh

./make.sh install

配置tracker和storage

安装后进入/etc/fdfs目录:


配置tracker:

复制一份再修改

cp tracker.conf.sample tracker.conf

vi tracker.conf 修改base_path路径(tracker的数据文件和日志目录)


创建/home/fastdfs目录

mkdir /home/fastdfs

启动tracker:


查看是否启动成功:


设置开机启动:

vi /etc/rc.d/rc.local



配置storage:







注意:

上述组名为group1 同一个组下的storage的端口号必须相同

如果有多个挂载磁盘则定义多个store_path
#store_path1=.....
#store_path2=......
#如果有多个则配置多个tracker

tracker_server=192.168.135.142:22122

tracker_server=xxx

启动:


开机自动启动:



FastDFS安装成功可通过/usr/bin/fdfs_test测试上传 下载等操作

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

vi client.conf


测试上传文件(1.png):




对应storage.conf指定存储目录下的文件:



Java API实现Client端的上传下载删除及获取文件的信息


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值