简介

FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux、FreeBSD、AIX等UNIX系统。它只能通过专有API对文件进行存取访问,不支持POSIX接口方式,不能mount使用。准确地讲,Google FS以及FastDFS、mogileFS、HDFS、TFS等类Google FS都不是系统级的分布式文件系统,而是应用级的分布式文件存储服务。

在安装之前,我们需要先区分一下角色

Track 理解为调度器就行了,提供上传功能

Storage 提供存储功能

他们最起码需要一台,我们这里做实验就各使用两台做测试

1、环境

操作系统 Centos 7.0 X64最小化安装

Track1 :192.168.121.131

Track2 :192.168.121.132

Storage1 :192.168.121.133

Storage1 :192.168.121.134

FastDFS 下载地址

https://sourceforge.net/projects/fastdfs/files/?source=navbar

2、在Track上安装fastdfs

首先,安装依赖包

yum install -y gcc-c++ wget unzip perl pcre-devel zlib-devel

192.168.121.131

下载代码包

wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.08/FastDFS_v5.08.tar.gz

解压后我们查看INSTALL文件,上面写了安装步骤

如图,要安装FastDFS我们要先安装libfastcommon

所以下载安装libfastcommon

wget https://codeload.github.com/happyfish100/libfastcommon/zip/master

unzip master && cd libfastcommon-maste

./make.sh  && ./make.sh install

再回到FaastDFS安装包,执行安装

cd ../FastDFS/

./make.sh && ./make.sh install

安装完成

然后在192.168.121.132 133  134上面执行同样操作

3、配置Track

修改tracker.conf 文件

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

mkdir /data/fastdfs

#配置data和log的存放路径

vim /etc/fdfs/tracker.conf

修改 base_path=/home/yuqing/fastdfs为

base_path=/data/fastdfs

修改client.conf

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

#设置参数

vim /etc/fdfs/client.conf

base_path=/data/fastdfs

tracker_server=192.168.121.131:22122

tracker_server=192.168.121.132:22122

http.tracker_server_port=80

启动服务

/etc/init.d/fdfs_trackerd start

打开防火墙

firewall-cmd --add-port=22122/tcp

查看状态

fdfs_monitor /etc/fdfs/client.conf

4、配置Storage

cp /root/FastDFS/conf/http.conf /etc/fdfs/

cp /root/FastDFS/conf/mime.types /etc/fdfs/

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

vim /etc/fdfs/storage.conf

#修改base路径

base_path=/data/fastdfs

#修改存储路径

store_path0=/data/fastdfs

#设置track IP

tracker_server=192.168.121.131:22122

tracker_server=192.168.121.132:22122

#修改web端口

http.server_port=80

启动服务

/etc/init.d/fdfs_storaged start

添加防火墙

firewall-cmd --add-port=23000/tcp

配置nginx并安装模块

wget http://nginx.org/download/nginx-1.8.1.tar.gz

wget http://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

拷贝配置文件

cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

编译安装nginx

./configure --prefix=/usr/local/nginx --add-module=../fastdfs-nginx-module/src/

这步会报错

解决办法是修改fastdfs模块引用fastdfs的路径

因为Fastdfs的prefix 是/usr

这里引用的是/usr/local

vim ../fastdfs-nginx-module/src/config

#去掉local

CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"

然后重新编译安装就能过了

make clean

./configure --prefix=/usr/local/nginx --add-module=../fastdfs-nginx-module/src/

Make && make install

修改模块配置文件

vim /etc/fdfs/mod_fastdfs.conf

#日志路径

base_path=/data/log

tracker_server=192.168.121.130:22122

tracker_server=192.168.121.131:22122

#存储路径

store_path0=/data/fastdfs

url_have_group_name = true

修改nginx配置

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

location /group1/M00 {

root   /data/fastdfs/data;

ngx_fastdfs_module;

}

启动nginx

/usr/local/nginx/sbin/nginx -s

开防火墙

firewall-cmd --add-port=23000/tcp

查看fastdfs状态

fdfs_monitor /etc/fdfs/storage.conf

状态为ACTIVE是正常

启动成功

5、测试上传

用Track1和Track2来上传都是可以的

这里用Track1

fdfs_test /etc/fdfs/client.conf upload /tmp/30adcbef76094b360fade2f0a5cc7cd98d109df4.jpg

上传成功,获得一个图片地址

图片实际保存路径为

/data/fastdfs/data/00/00/wKh5hFblTomANCAAAADD0tsLWr8597.jpg

访问图片测试

正常访问

再访问另一台Storage

访问正常,实验完成

由于有两台Storage和Track,任何一台s挂掉都是有备份的

Track和stoage可以用keepalive来做高可用实现故障转移 这里就不多说了。

转载于:https://blog.51cto.com/niubdada/1750638

分布式文件系统Fastdfs 详细安装笔记相关推荐

  1. 轻量级分布式文件系统FastDFS使用安装说明手册(新手入门级)

    轻量级分布式文件系统FastDFS使用安装说明手册(新手入门级) 实验室所在的课题组以研究云计算为主,但所有的研究都是在基于理论的凭空想像,缺少分布式环境的平台的实践,云计算神马的都是浮云了.因此,我 ...

  2. CentOS7下分布式文件系统FastDFS的安装 配置 (单节点)

    背景 FastDFS是一个开源的轻量级分布式文件系统,为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,解决了大容量存储和负载均衡的问题,特别适合以文件为载体 ...

  3. 分布式文件系统FastDFS架构辨析,分布式文件系统FastDFS_V4.06安装部署

    FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux.FreeBSD.AIX等UNIX系统.它只能通过专有API对文件进行存取访问,不支持POSIX接口方式, ...

  4. 实战:轻量级分布式文件系统FastDFS(GraphicsMagick图片压缩)

    轻量级分布式文件系统FastDFS--实现用户头像上传/压缩屏幕适配 一.需求分析 1.1 业务场景: 用户上传的头像图片大小不一.手机和PC等设备显示尺寸也存在差异,因此需要能根据http请求指定的 ...

  5. 网站文件系统发展分布式文件系统fastDFS

    网站文件系统发展 1.单机时代的图片服务器架构 初创时期由于时间紧迫,开发人员水平也很有限等原因.所以通常就直接在website文件所在的目录下,建立1个upload子目录,用于保存用户上传的图片文件 ...

  6. 分布式文件系统FastDFS详解-附带视频教程

    目录 1.FastDFS教程 2.FastDFS安装 安装FastDFS FastDFS配置文件详解 FastDFS启动 3.FastDFS重启与FastDFS关闭 FastDFS关闭 4.FastD ...

  7. 分布式文件系统----FastDFS

    FastDFS 1.分布式文件系统 1.1 FastDFS简介 1.2 FastDFS整体架构 1.3 FastDFS的存储策略 1.4 FastDFS的上传过程 1.5 FastDFS的文件同步 1 ...

  8. 高可用高性能分布式文件系统FastDFS实践Java程序

    在前篇 高可用高性能分布式文件系统FastDFS进阶keepalived+nginx对多tracker进行高可用热备 中已介绍搭建高可用的分布式文件系统架构. 那怎么在程序中调用,其实网上有很多栗子, ...

  9. 分布式文件系统FastDFS架构剖析

    文/余庆 FastDFS是一款类Google FS的开源分布式文件系统,它用纯C语言实现,支持Linux.FreeBSD.AIX等UNIX系统.它只能通过专有API对文件进行存取访问,不支持POSIX ...

最新文章

  1. Science | 闵明玮等揭示细胞如何做出命运决定
  2. matlab 2014a 升级,MATLAB R2014a从入门到精通(升级版) pdf扫描版[42MB]
  3. 【数据结构总结】第二章:线性表
  4. Java面试中常问的Spring方面问题
  5. 华为鸿蒙vogtloop30pro价格,华为Mate30系列基本确认:首发麒麟985+鸿蒙系统,价格感人!...
  6. MySql 5.6.36 64位绿色版安装
  7. mysql docker还是rds_容器化RDS:计算存储分离还是本地存储?
  8. android 7使用litepal,android数据库litepal使用记录
  9. CImageList 透明贴图解决方案
  10. Android自定义View:带你了解神秘的MeasureSpec类
  11. 如何查询Opencv的版本
  12. 10. Linux驱动 - Ubuntu驱动签名
  13. [已解决]关于python无法显示中文的问题:SyntaxError: Non-ASCII character '\xe4' in file test.py on line 3, but no enc
  14. CSDN 重新开放付费资源的上传了,但要求如下
  15. mysql编译安装指定端口_在CentOS7系统上编译安装MySQL 5.7.13步骤详解
  16. .Android手机邮箱设置详细教程
  17. Linux 监控工具之Cacti使用详解(一)
  18. Win7 Win2003 双系统重装2003以后修复Windows 7 系统启动项
  19. uni-app--》如何制作一个APP并使用?
  20. 禁止Skype开机自启动

热门文章

  1. 不“刷脸”回不了家?郑州业主拒绝录入人脸信息回家如做贼,物业:少数服从多数...
  2. 手表可测血压,耳机支持颈椎保护……这届电子设备越来越“养生”了
  3. 低头族的第三只眼,“赛博朋克”新装备让你走路不再撞树
  4. 95%PyTorch库都会中招的bug!特斯拉AI总监都没能幸免
  5. RocketMQ几种搭建模式说明
  6. 谁是第三者之- Activity、Window、View
  7. vue本地项目静态资源管理
  8. TypeScript基础入门 - 接口 - 继承接口
  9. MongoDB 学习笔记四 C#调用MongoDB
  10. 如何使自己的程序只运行一次