四、 FastDFS架构

1 架构图

2 角色

Client:客户端。使用java语言编写的项目属于客户端。

Tracker Server:跟踪服务器,主要做调度工作,在访问上起负载均衡的作用。在内存中记录集群中group和storage server的状态信息,是连接Client和Storage server的枢纽。

Storage Server:存储服务器,文件和文件属性(meta data)都保存到存储服务器上

3 架构解读

只有两个角色,tracker server和storage server,不需要存储文件索引信息。

所有服务器都是对等的,不存在Master-Slave关系。

存储服务器采用分组方式,同组内存储服务器上的文件完全相同(RAID 1)。

不同组的storage server之间不会相互通信。

由storage server主动向tracker server报告状态信息,tracker server之间不会相互通信。

五、FastDFS安装

1.安装FastDFS依赖
  FastDFS是C语言开发的应用。安装必须使用 make , cmake 和 gcc编译器。
# yum install -y make cmake gcc gcc-c++
2 上传并解压libfastcommon-master

上传libfastcommon-master 到 /usr/local/tmp下。 libfastcommon是从FastDFS和FastDHT中提取出来的公共C函数库

解压 libfastcommon-master.zip 由于是zip文件所以要使用 unzip命令

# cd /usr/local/tmp
# unzip libfastcommon-master.zip
3 编译并安装

libfastcommon没有提供make命令安装文件。使用的是shell脚本执行编译和安装。shell脚本为 make.sh

进入解压后的文件

# cd libfastcommon-master

编译

#./make.sh

安装

#./make.sh install

有固定的默认安装位置。在/usr/lib64 和 /usr/include/fastcommon两个目录中

4 创建软连接

因为FastDFS 主程序设置的lib目录是 /usr/local/lib, 所以需要创建软连接

# ln -s /user/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
# ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
5 上传并解压FastDFS主程序

上传 FastDFS_v5.08.tar.gz 到 /usr/local/tmp下后解压

# cd /usr/local/tmp
# tar zxf FastDFS_v5.08.tar.gz
6 编译并安装FastDFS

进入到解压后的FastDFS文件中

# cd FastDFS

编译

# ./make.sh

安装

# ./make.sh install

安装后 FastDFS主程序所在的位置是

/usr/bin 可执行文件所在的位置

/etc/fdfs 配置文件所在的位置

/usr/bin 主程序代码所在位置

/usr/include/fastdfs 包含一些插件组所在的位置

7 配置tracker

7.1 复制配置文件

进入到 /etc/fdfs 中 , 把tracker配置文件复制一份

# cd /etc/fdfs
# cp tracker.conf.sample tracker.conf

7.2 创建数据目录

创建放置 tracker数据的目录

# mkdir -p /usr/local/fastdfs/tracker

7.3 修改配置文件

修改 tracker.conf 设置 tracker 内容存储目录

base_path=/usr/local/fastdfs/tracker
#vim tracker.conf
 默认端口 22122   不需要修改

7.4 启动服务

# service fdfs_trackerd start

启动成功后, 配置文件中 base_path 指向的目录出现 FastDFS服务相关数据目录(data目录, logs 目录)

7.5 查看服务运行状态

# service fdfs_trackerd status

如果显示 is running 表示正常运行。

7.6 关闭防火墙

# service iptables stop
# chkconfig iptables off
8 配置storage
   storage可以和tracker不在同一台服务器上。示例中把storage和tracker安装在同一台服务器上了。

8.1 复制配置文件

进入到 /etc/fdfs, 把 storage 配置文件复制一份

# cd /etc/fdfs
# cp storage.conf.sample storage.conf

8.2 创建目录

创建两个目录, 把base用于存储基础数据和日志,store用于存储上传数据。

# mkdir -p /usr/local/fastdfs/storage/base
# mkdir -p /usr/local/fastdfs/storage/store

8.3 修改配置文件

storage.conf配置文件用于描述存储服务的行为,需要进行下述修改

# vim /etc/fdfs/storage.conf

配置内容如下:

base_path=/usr/local/fastdfs/storage/base
store_path0=/usr/local/fastdfs/storage/store
tracker_server=tracker 服务IP:22122

base_path - 基础路径。用于保存storage server 基础数据内容和日志内容的目录。

store_path0 - 存储路径。是用于保存FastDFS中存储文件的目录,就是要创建256*256个子目录的位置。

base_path 和 store_path0 可以使用同一个目录。

tracker_server - 跟踪服务器位置。就是跟踪服务器的IP和端口。

启动服务

# service fdfs_storaged start

启动成功后,配置文件中base_path 指向的目录中出现FastDFS服务相关数据目录(data目录、logs目录)配置文件中的store_path0指向的目录中同样出现FastDFS存储相关数据录(data目录)。其中$store_path0/data/目录中默认创建若干子孙目录(两级目录层级总计256*256个目录),是用于存储具体文件数据的。

Storage 服务器启动比较慢,因为第一次启动的时候,需要创建256*256个目录。

查看启动状态

# service fdfs_storaged status

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值