分布式文件系统——FastDFS的安装部署

由于项目功能中涉及到了图片以及文件上传的功能,需要同步pc端项目与手机端的图片、文件,因此搭建一个FastDFS。

  1. FastDFS
    fastdfs是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)、客户端(client)三部分组成。
    跟踪器主要负责调度工作,在访问上起到负载均衡的作用。
    存储节点负责存储文件,
    主要解决海量数据存储问题,适合以中小文件(4KB<file_size<500MB)为载体的在线服务

  2. 配置环境
    centos7
    tracker server: 10.173.X.X1 ,10.173.X.X2
    storage server:10.173.X.X1 10.173.X.X3(group1)
    storage server:10.173.X.X2 10.173.X.X4(group2)

  3. 安装配置 【tracker server】

    1. 安装libfastcommon【它是安装fastdfs前的依赖】
  • 安装所需依赖 : yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

  • 安装libfastcommon : [访问 https://github.com/happyfish100/libfastcommon. ,下载zip包

  • 解压后进入, 执行./make.sh ./make.sh install

  • libfastcommon.so默认安装到了/usr/lib64/libfastcommon.so,但fastdfs主程序设置的lib目录是/usr/lobal/lib,因此需要建立软链接
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so

    1. 安装fastdfs
  • 进入fastdfs目录

  • ./make.sh ./make.sh install

  • fastdfs配置文件解释:

文件名功能
tracker.conf负责均衡调度服务器配置文件
client.conf客户端上传配置文件
http.confhttp服务器配置文件
storage.conf文件存储服务器配置文件
mime.types文件类型配置文件
    1. 修改tracker server 的配置文件
  • 安装成功后,在/etc/目录下生成fdfs目录,包含了fdfs配置文件
    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

  • 初始化文件夹目录 : mkdir /opt/fastdfs_tracker mkdir /opt/fastdfs_storage mkdir /opt/fastdfs_storage_data

  • vi /etc/fdfs/tracker.conf
    base_path=/opt/fastdfs_tracker

    store_lookup=0 这里为了做集群上传测试时能看到分别上传到其他节点,
    store_group=group1 这里将10.173.X.X1设置为group1,10.173.X.X2中的配置项设置为group2

    1. 启动tracker
  • /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf

  • 查看是否启动成功(出现对应的fdfs端口号表示启动成功):netstat -unlpt |grep fdfs 在这里插入图片描述

  • 查看是否报错

  • cat /opt/fastdfs_tracker/logs/trackerd.log
    在这里插入图片描述

以上启动了tracker,但并没有关联起来,由于X1和X2都是即作tracker和storage,所以初始化文件路径时已经做了storage的操作
4. 配置storage

  • cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

  • vim /etc/fdfs/storage.conf
    group_name=group1 当前的storage节点属于那个group
    port=23000 配置当前group的端口号,两个group要不一样,group2设置为23001
    base_path=/opt/fastdfs_storage 设置storage存放日志的路径
    store_path=/opt/fastdfs_storage_data 设置storage存储路径,若没有设置,则使用base_path。(该地址是文件存储地址,而不是日志存放地址)
    tracker_server=10.173.X.X1:22122 tracker_server=10.173.X.X2:22122 配置两个tracker的地址

  • 启动storage
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf

  • 查看是否启动

  • netstat -unlpt |grep fdfs

在这里插入图片描述

  • 查看日志是否报错

  • cat /opt/fastdfs_storage/logs/storaged.log

  • X3和X4只做storage节点,所以只配置storage.conf

  • vim /etc/fdfs/storage.conf
    group_name=group2
    port=23001
    base_path=/opt/fastdfs_storage
    store_path=/opt/fastfs_storage_data tracker_server=10.173.X.X1:22122 tracker_server=10.173.X.X2:22122

  • 查看集群状态:/usr/bin/fdfs_monitor /etc/fdfs/storage.conf

  • 安装nginx,提供http的下载

  • fastdfs的http服务太弱,需要借助nginx来进行http访问的负载

  • 下载fast-nginx-module 下载链接

    1. 配置fast-nginx-module
  • vim /fast-nginx-module/src/mod_fastdfs.conf
    tracker_server:X1:22122
    url_have_group_name = true
    在这里插入图片描述
    cp mod_fastdfs.conf /etc/fdfs/
    store_path0 配置和storage.conf中一致

  • vim /fast-nginx-module/src/config
    在这里插入图片描述

  • 将CORE_INCS和CORE_LIBS的路径和libfastcommon的路径保持一致

    1. 解压nginx后,进入nginx目录
      ./configure --prefix=/usr/local/nginx --add-module=/usr/local/fastdfs-nginx-module/src/
      make && make install
  • 修改配置文件

  • vim /usr/local/nginx/conf/nginx.conf

  • 配置负载均衡的路径,最后一个location项

在这里插入图片描述

  • 查看nginx配置,nginx -V(需要将nginx配置到环境变量中)
    在这里插入图片描述
    出现–add-module…则表示模块已经配置好

将fastdfs-master中conf中的http.conf 和mime.types两个文件复制到/etc/fdfs下,否则启动nginx会报错

  • 创建软链接,危了nginx能够访问存储路径的时候能直接访问到M00的数据
  • ln -s /opt/fastdfs_storage_data/data /opt/fastdfs_storage_data/data/M00
  • 启动nginx,/usr/local/nginx/sbin/nginx
  • 查看日志,cat /usr/loca/nginx/logs/error.log
    在这里插入图片描述PS:所有当作stroage的节点机器都必须启动nginx作为storage负载
  1. 测试
    1. 修改/etc/fdfs/client.conf
  • cp client.conf.sample client.conf
  • vim client.conf 修改tracker server项
    1. 可使用 /usr/bin/fdfs_test 进行测试上传、下载操作
  • /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /root/123.txt
  • 会存放在M00/00/00,文件名做相应转换,我这里是 Cq0c212J8FiAZzB_AAAABFqC_Qg796.txt
  • 浏览器访问
http://10.173.X.X1/group1/M00/00/00/Cq0c212J8FiAZzB_AAAABFqC_Qg796.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值