现在的位置: 首页 > fastdfs > 正文

分布式文件系统 – FastDFS 在 CentOS 下配置安装部署

2017年02月28日 fastdfs ⁄ 共 3148字 ⁄ 字号 暂无评论

少啰嗦,直接装

看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上搜索到的 Google Code 的 V4.06 或更低版本不一样,而且按照他们的步骤坑很多,我反正被坑了很久。

你只需要记住,这也许是目前 FastDFS 最新最稳定最简单坑最少的一个配置安装部署教程了。期间我也会把我踩的坑都放出来,我保证大家照着做就几乎不会有坑。哈哈...

一、安装 libfastcommon 和 FastDFS

1.下载安装 libfastcommon ,这里是通过wget下载(我喜欢这种方式)。

  1. wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz

wget_libfastcommon.png

解压 libfastcommon,命令:

  1. tar -zxvf V1.0.7.tar.gz

tar_libfastcommon.png

编译,进入libfastcommon-1.0.7目录,命令:

  1. cd libfastcommon-1.0.7
  2. ./make.sh

mark_libfastcommon.png

安装,命令:

  1. ./make.sh install

makeinstall_libfastcommon.png

显示这样的画面,就是安装 libfastcommon 成功啦。

2.下载安装 FastDFS,这里也是通过wget下载。

  1. wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

wget_fastdfs.png

解压 FastDFS ,命令:

  1. tar -zxvf V5.05.tar.gz

tar_fastdfs.png

编译,进入fastfds-5.05目录,命令:

  1. cd fastdfs-5.05
  2. ./make.sh

make_fastdfs.png

安装,命令:

  1. ./make.sh install

makeinstall_fastdfs.png

显示这样的画面,就是安装 FastDFS 成功啦。

二、配置 Tracker 服务

上述安装成功后,在/etc/目录下会有一个fdfs的目录,进入它。会看到三个.sample后缀的文件,这是作者给我们的示例文件,我们需要把其中的tracker.conf.sample文件改为tracker.conf配置文件并修改它。看命令:

  1. cp tracker.conf.sample tracker.conf
  2. vim tracker.conf

cp_vim_tracker.png

打开tracker.conf文件,只需要找到你只需要该这两个参数就可以了。

  1. # the base path to store data and log files
  2. base_path=/data/fastdfs
  3. # HTTP port on this tracker server
  4. http.server_port=80

当然前提是你要有或先创建了/data/fastdfs目录。port=22122这个端口参数不建议修改,除非你已经占用它了。
修改完成保存并退出 vim ,这时候我们可以使用/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf start来启动 Tracker服务,但是这个命令不够优雅,怎么做呢?使用ln -s 建立软链接:

  1. ln -s /usr/bin/fdfs_trackerd /usr/local/bin
  2. ln -s /usr/bin/stop.sh /usr/local/bin
  3. ln -s /usr/bin/restart.sh /usr/local/bin

ln-s_tracherd.png

这时候我们就可以使用service fdfs_trackerd start来优雅地启动 Tracker服务了,是不是比刚才带目录的命令好记太多了(懒是社会生产力)。你也可以启动过服务看一下端口是否在监听,命令:

  1. 启动服务:service fdfs_trackerd start
  2. 查看监听:netstat -unltp|grep fdfs

start_trackerd.png

看到22122端口正常被监听后,这时候就算 Tracker服务安装成功啦!

三、配置 Storage 服务

现在开始配置 Storage 服务,由于我这是单机器测试,你把 Storage 服务放在多台服务器也是可以的,它有 Group(组)的概念,同一组内服务器互备同步,这里不再演示。直接开始配置,依然是进入/etc/fdfs的目录操作,首先进入它。会看到三个.sample后缀的文件,我们需要把其中的storage.conf.sample文件改为storage.conf配置文件并修改它。还看命令:

  1. cp storage.conf.sample storage.conf
  2. vim storage.conf

cp_vim_storage.png

打开storage.conf文件后,找到这两个参数进行修改:

  1. # the base path to store data and log files
  2. base_path=/data/fastdfs/storage
  3. # store_path#, based 0, if store_path0 not exists, it's value is base_path
  4. # the paths must be exist
  5. store_path0=/data/fastdfs/storage
  6. #store_path1=/home/yuqing/fastdfs2
  7. # tracker_server can ocur more than once, and tracker_server format is
  8. # "host:port", host can be hostname or ip address
  9. tracker_server=192.168.198.129:22122

当然你的/data/fastdfs目录下要有storage文件夹,没有就创建一个,不然会报错的,日志以及文件都会在这个下面,启动时候会自动生成许多文件夹。stroage的port=23000这个端口参数也不建议修改,默认就好,除非你已经占用它了。
修改完成保存并退出 vim ,这时候我们依然想优雅地启动 Storage服务,带目录的命令不够优雅,这里还是使用ln -s建立软链接:

  1. ln -s /usr/bin/fdfs_storaged /usr/local/bin

ln-s_storaged.png

执行命令启动服务:

  1. service fdfs_storaged start

error_nofile.png

图片中出现了一个大大的error啦!!!要仔细看,错误提示是找不到文件夹,这就好办了嘛。创建一个文件夹再次启动看看。

start_storaged.png

这次启动成功,没有错误了。查看一下监听:

  1. netstat -unltp|grep fdfs

netstat_fdfs.png

很好,22122 和 23000端口都在监听了,这个时候你去/data/fastdfs/storage文件夹下看的话,会出现一大堆文件夹,而且进去还有一大堆,哈哈,这就是存放文件的啦!下一篇会讲它们的作用和怎么存储的。

四、这就完成了?

应该是完成了。我们安装配置并启动了 Tracker 和 Storage 服务,也没有报错了。那他俩是不是在通信呢?我们可以监视一下:

  1. /usr/bin/fdfs_monitor /etc/fdfs/storage.conf

monitor_active.png

看到我红线处ACTIVE这样就 ok 啦!

其实这个时候你就可以进行上传测试了,但可能会下载不了,所以,我们把成功的喜悦留在下一篇吧。

总结一下

这篇文章只是进行了 FastDFS 的安装与配置,没有任何难度可言,只要按照步骤一步步走下去就可以搞定。可能中间过程中我们会由于不细心经历各种错误,只要仔细看日志信息都能解决掉的,你解决掉一个个错误的时候难道没有披荆斩棘战士般的感觉么?反正我没遇到错...

由于余老师在 V4.05 以后的版本就把内置 HTTP服务去掉了,推荐大家结合 Nginx 使用 fastdfs-nginx-module 模块,所以,就算这篇你测试上传成功了,你也访问不了,哈哈哈... 下一篇分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试 中会进行配合 Nginx 完成全部FastDFS的安装测试上传下载等等全部工作。等着吧...

转载:http://blog.mayongfa.cn/192.html

给我留言

您必须 [ 登录 ] 才能发表留言!