FastDFS 简介
FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。
存储节点存储文件,完成文件管理的所有功能:存储、同步和提供存取接口,FastDFS同时对文件的meta data进行管理。所谓文件的meta data就是文件的相关属性,以键值对(key value pair)方式表示,如:width=1024,其中的key为width,value为1024。文件meta data是文件属性列表,可以包含多个键值对。
FastDFS系统结构如下图所示:
安装步骤
- 软件包准备 FastDFS_v5.02.tar.gz ,libfastcommon_v1.01.tar.gz,libevent-2.0.17-stable.tar.gz
- 产看本机是否安装了libevent 工具包,sudo apt-get install libevent 此时 按两下 tab键 提示 即可安装
- 安装 libfastcommon_v1.01.tar.gz
- 解压 tar -zxvf libfastcommon_v1.01.tar.gz
- 在解压的目录下
会看到 make.sh
- 进入改目录下 执行 ./make.sh 编译完之后 进行安装 ./make.sh install 完成后 libfastcommon_v1.01 安装完毕。
- 验证 是否安装成功。在 /usr/bin 下 可以看到
一般会在 lib目录下 libfastcommon.so 有这个文件 当然 如果你的系统是64位的 并且没有我上图中的 lib64目录 就自己创建一个目录(sudo mkdir lib64) 把 lib目录下的 libfastcommon.so copy 到 lib64目录下 注意 如果该步骤没有操作 后续的安装会失败,请谨记。
- 安装 FastDFS_v5.02.tar.gz
- 解压 tar -zxvf FastDFS_v5.02.tar.gz 解压后的目录结构
- 安装 ./make.sh 编译成功后 ./make.sh install 进行安装。 如果 你是64位系统,在/usr/ 目录下没有 lib64目录 这里则会 安装失败。 解决方案 看我上面的说明。
- 安装成功后 在 /usr/bin 或者 /usr/local/bin 下 执行 ll fdfs* 可以看到 很多以fdfs开头的文件 如图
到这里 (非集群)安装操作就完成了,下面开始进行配置。
- 配置
- 为了方便 我们把 FastDFS( FastDFS_v5.02.tar.gz 解压后的目录) 目录下的conf下的所有文件 copy 到 /etc/fdfs下 命令:cp /app/fastdfs/FastDFS/conf/* /etc/fdfs/
- 在/etc/fdfs 下 修改 tracker.conf vim tracker.conf 修改 base_path=xxxx 存放数据和日志文件的目录 必须真实存在的 该配置文件修改这一个配置即可。
- 在/etc/fdfs 下 修改 vim storage.conf 修改其中的base_path 这个路径是存放数据和日志的目录,必须真实存在。 store_path0 存储的磁盘地址 其实就是一个目录,必须真实存在。tracker_server 这个配置是 tracker服务的地址 如果是本机 必须写192.168.xx.xx这种ip 不可以写127.0.0.1 。该配置文件就修改这些配置。
- 在/etc/fdfs 下 修改 vim client.conf 修改其中的 base_path、tracker_server 配置的意思 同上 这个配置文件是 测试用的。
- 启动
- 启动 tracker /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf 不报错则 启动成功。 重启 /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
- 启动 storage /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf 这步操作会创建大量的目录 。重启 /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf restart
- 验证 是否启动成功 ps -aux|grep tracker ps -aux|grep storage
- 测试
- 上传 /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload 图片地址 执行后 可以在 数据存放的目录中的 data下找到该图片 第一个图片一般放在 data目录下的 00/00下。
- 上传 /usr/local/bin/fdfs_test /etc/fdfs/client.conf upload 图片地址 执行后 可以在 数据存放的目录中的 data下找到该图片 第一个图片一般放在 data目录下的 00/00下。
- 解压 tar -zxvf FastDFS_v5.02.tar.gz 解压后的目录结构