(一)CentOS6.x下安装使用FastDFS

0. FastDFS简介

FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。

0.1 什么是分布式文件系统

分布式文件系统(Distributed File System)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。

通俗来讲:

  • 传统文件系统管理的文件就存储在本机。
  • 分布式文件系统管理的文件存储在很多机器,这些机器通过网络连接,要被统一管理。无论是上传或者访问文件,都需要通过管理中心来访问

0.2 什么是FastDFS

FastDFS是由淘宝的余庆先生所开发的一个轻量级、高性能的开源分布式文件系统。用纯C语言开发,功能丰富:

  • 文件存储
  • 文件同步
  • 文件访问(上传、下载)
  • 存取负载均衡
  • 在线扩容

适合有大容量存储需求的应用或系统。同类的分布式文件系统有谷歌的GFS、HDFS(Hadoop)、TFS(淘宝)等。

0.3 FastDFS 的架构

FastDFS两个主要的角色:Tracker Server 和 Storage Server 。

  • Tracker Server:跟踪服务器,主要负责调度storage节点与client通信,在访问上起负载均衡的作用,和记录storage节点的运行状态,是连接client和storage节点的枢纽。
  • Storage Server:存储服务器,保存文件和文件的meta data(元数据),每个storage server会启动一个单独的线程主动向Tracker cluster中每个tracker server报告其状态信息,包括磁盘使用情况,文件同步情况及文件上传下载次数统计等信息
  • Group:文件组,多台Storage Server的集群。上传一个文件到同组内的一台机器上后,FastDFS会将该文件即时同步到同组内的其它所有机器上,起到备份的作用。不同组的服务器,保存的数据不同,而且相互独立,不进行通信。
  • Tracker Cluster:跟踪服务器的集群,有一组Tracker Server(跟踪服务器)组成。
  • Storage Cluster :存储集群,有多个Group组成。

0.4 上传下载流程

上传
在这里插入图片描述

  1. Client通过Tracker server查找可用的Storage server。
  2. Tracker server向Client返回一台可用的Storage server的IP地址和端口号。
  3. Client直接通过Tracker server返回的IP地址和端口与其中一台Storage server建立连接并进行文件上传。
  4. 上传完成,Storage server返回Client一个文件ID,文件上传结束。

下载
在这里插入图片描述

  1. Client通过Tracker server查找要下载文件所在的的Storage server。
  2. Tracker server向Client返回包含指定文件的某个Storage server的IP地址和端口号。
  3. Client直接通过Tracker server返回的IP地址和端口与其中一台Storage server建立连接并指定要下载文件。
  4. 下载文件成功。

1. CentOS6.X下使用 FastDFS

1.1 安装 gcc

FastDFS 是 C 语言开发的,安装 FastDFS 需要先安装 gcc

yum -y install gcc-c++

# 查询是否安装成功

rpm -qa | grep gcc

# 后面会用到解压命令(unzip),所以这里可以用yum把unzip 也装一下

yum install -y unzip zip

1.2 安装 libevent

yum -y install libevent

1.3 上传安装文件

在 /usr/local 下新建目录 fastdfs

在这里插入图片描述

将以上几个文件上传到该目录中

在这里插入图片描述

1.4 安装 libfastcommon

libfastcommon 是 FastDFS 官方提供的,libfastcommon 包含了 FastDFS 运行所需的一些基础库

进入刚才上传的文件的所在位置
cd /usr/local/fastdfs

将其解压
unzip libfastcommon-master.zip 

进入解压目录
cd libfastcommon-master/

编译并安装
./make.sh
./make.sh install

在这里插入图片描述

# 注意: libfastcommon 安装好后会自动将库文件拷贝至 /usr/bin64 下,由于 FastDFS 程序引用的时 /usr/lib 目录,使用需要将 /usr/lib64 下的库文件 libfastcommon.so 拷贝到 /usr/lib 下:

cp /usr/lib64/libfastcommon.so /usr/lib

查找当前目录是否包含指定文件

在这里插入图片描述

1.5 安装 FastDFS_v5.08(tracker+storage)

注意:此处我们把 tracker(跟踪踪器) 和 storage(存储服务器) 配置在同一台服务器上,真实环境中考虑到高可用,此时应该把它们部署在多台服务器上

进入压缩包所在目录
cd /usr/local/fasfdfs

解压
tar -zxf FastDFS_v5.08.tar.gz 

进入解压目录
cd FastDFS/

编译安装
./make.sh
./make.sh install

在这里插入图片描述

# 此时我们的 /etc/fdfs 目录下会出现三个文件

在这里插入图片描述

  • tarcker.conf.sample 是tracker的配置文件模板
  • storage.conf.sample 是storage的配置文件模板
  • client.conf.sample 是客户端的配置文件模板

# 安装成功后将安装目录下的 conf 文件中的所有内容拷贝到 /etc/fdfs/ 目录下。(nginx)

当前所在目录:/usr/local/fastdfs/FastDFS

进入conf目录
cd /usr/local/fastdfs/FastDFS/conf/

拷贝
cp * /etc/fdfs/

此时我们来看一下 /etc/fdfs 下的文件有哪些

在这里插入图片描述

其实 storage.conf.sample 等文件 和 storeage.conf 是一样的,只是后缀不同而已

进入目录查看文件,tracker文件是自动生成的,如果没有自行创建即可
cd /usr/local/fastdfs/FastDFS/tracker

等下我们会把 tracker 服务的数据和日志都放到该目录中

1.6 配置并启动tracker服务

1)配置 tracker 服务。修改 /etc/fdfs/tracker.conf 文件

进入 tracker.conf 文件
vim /etc/fdfs/tracker.conf

2)修改的内容如下:

# 跟踪服务存储数据和日志的地址
base_path=/usr/local/fastdfs/FastDFS/tracker
# 然后保存退出即可

3)启动 tracker 服务

启动tracker服务器: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

重启: /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart

fdfs_trackerd 指令是安装 FastDFS 时自动写入到 /usr/bin目录下的(上面有截图)

不过安装过程中,fdfs已经被设置为系统服务,我们可以采用熟悉的服务启动方式:

service fdfs_trackerd start # 启动fdfs_trackerd服务,停止用stop

检查FastDFS Tracker Server是否启动成功:

ps -ef | grep fdfs_trackerd

在这里插入图片描述

设置tracker服务开机启动:

chkconfig fdfs_trackerd on

1.7 配置并启动 storage 服务

如果时在不同的服务器安装,则 【1.5】和【1.6】两步需要重新执行

1)进入要存放 storage 服务的数据和日志的目录,将路径复制出来

cd /usr/local/fastdfs/FastDFS/storage

2)修改 storage.conf 文件

vim /etc/fdfs/storage.conf

3)修改的内容如下

# 这个路径是我们第一步复制的那个路径,用于存放 storage 的数据和日志
base_path=/usr/local/fastdfs/FastDFS/storage
store_path0=/usr/local/fastdfs/FastDFS/storage

# 指定跟踪服务的地址(这里的ip设置为跟踪服务器的id,端口使用默认的即可)
tracker_server=192.168.193.128:22122 

4)启动 storage 服务,此处可能会时间长一些

/usr/bin/fdfs_storaged  /etc/fdfs/storage.conf

# 查看是否启动成功
在这里插入图片描述

# 推荐使用

service fdfs_storaged start  # 启动fdfs_storaged服务,停止用stop

# 设置 storage 服务开机自启

chkconfig fdfs_storaged on

# 此时我们进入 /usr/local/fastdfs/FastDFS/tracker/ 目录下,该目录下有很多个文件,在 data 文件中有 256x256 个文件,这是我们刚才启动 storage 服务时自动创建的,以后上传的文件就会保存到 data 目录中

1.8 配置客户端并测试

1)将 /usr/local/FastDFS/client 里面的 libfdfsclient.so 拷贝到 /usr/lib 目录中,这一步非常重要!!

cp  /usr/local/fastdfs/FastDFS/client/libfdfsclient.so  /usr/lib

如果已存在,则覆盖

2)修改配置文件 /etc/fdfs/client.conf

vim /etc/fdfs/client.conf

# 修改的内容如下:

# 保存日志信息的地址
base_path=/usr/local/fastdfs/FastDFS/client/
# 指定追踪器的url,ip为当前追踪器在的Linux的ip
tracker_server=192.168.193.128:22122

保存并退出即可

3)测试

  1. 我们在 /root 目录下创建一个文件, 【hi.html】
# 进入 root 目录
cd ~
# 创建并修改文件
vim hi.html

# 文件内容
hi, FastDFS !!!
  1. 上传文件
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /root/hi.html

解读:

在这里插入图片描述

  1. 上传结果

在这里插入图片描述

  1. 根据上传成功的url查询打开文件位置

    cd /usr/local/fastdfs/FastDFS/storage/data/00/00
    

    在这里插入图片描述

此时我们在主机上访问这个地址,是无法访问这个资源的

FastDFS本身是无法处理HTTP协议的,此时我们就需要Nginx了
大家安装过程中如果遇到其它问题可以百度,也可以私我一起解决;还有以上所需的安装包大家可以自行百度下载,也可以私我然后发给你们
我下期将教大家如何使用nginx来和FastDFS搭配使用,使之可以通过地址访问

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值