前面几篇关于FastDFS的博客中介绍了如何在一台机器上搭建一个简易的FastDFS系统,当然在实际的应用中是不可能将所有的节点都搭建在一台机器上的,昨天用一下午的时间搭建了一个三个节点的FastDFS的系统,这里记录一下搭建的过程。
一、系统结构
我这里有三台机器:
机器 | 系统 | IP |
---|---|---|
PC1 | CentOS6.5 | 192.168.1.31 |
PC2 | Ubuntu14.04 | 192.168.1.32 |
PC3 | Ubuntu14.04 | 192.168.1.33 |
我将PC1当做tracker服务器,PC2和PC3作为group1中的两台Storage服务器,所以他们的结构是这样的:
二、安装
1、安装libevent
三台机器都要安装libevent,在libevent安装之前要确保你的机器上有C的编译器,我的Centos上竟然没有gcc,所以我先安装了一个gcc,然后其他的步骤都是按照之前的博客中介绍的那样进行安装即可。http://blog.csdn.net/xingjiarong/article/details/50559761
2、安装FastDFS
接着按照博客中的步骤安装FastDFS,其中两台Ubuntu系统的机器需要按照博客中的步骤更改配置文件,但是CentOS不需要修改,直接make就行了。
三、配置
1、配置tracker
编辑PC1上的tracker.conf,详细的修改过程按照这篇博客:http://blog.csdn.net/xingjiarong/article/details/50559768,配置完成后进行启动。
我在启动时出现了如下的错误:
fdfs_trackerd: error while loading shared libraries:
libevent-2.0.so.5: cannot open shared object file: No such file or directory
经过谷歌,通过下面的方法顺利解决:
ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5
你还可以通过下面的方法来判断是否启动成功:
netstat -anp |grep 22122
如果出现类似的信息则说明启动成功了。
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 13092/fdfs_trackerd
2、配置storage.conf
对PC2和PC3上的storage.conf进行修改,方法按照配置tracker的那篇博客,需要注意的是,tracker_server要写成PC1的ip地址:
tracker_server=192.168.1.31:22122
在我配置完成后启动storage的时候,执行命令就会卡住,我去看了一下log文件中,发现有这个错误:
ERROR - file: storage_ip_changed_dealer.c, line: 180, connect to tracker server
192.168.1.31:22122 fail, errno: 113, error info: No route to host
我检查了我的tracker_server地址,发现是对的,但是我记得我对PC1配置过防火墙,所以关掉防火墙之后就可以了。
四、测试
测试方法按照这篇博客:http://blog.csdn.net/xingjiarong/article/details/50560605,注意要写对tracker_server的地址,一般你的服务都启动了之后是不会有什么问题,可以试一下。
五、关于Web Server
FastDFS可以使用的Web服务器有apache和nginx两种,网上说nginx比较轻量级,但是我还没找到一篇比较好的博客,等我搞好了一定给大家分享,之前是装过apache的,就在刚刚测试的那篇博客里,但是这次我按照那篇博客,对PC2和PC3两台机器进行了配置,配置成功后输入PC2和PC3的IP地址是可以访问到apache主页的,但是却提示找不到FastDFS中M00下的文件,有知道的还请留言告诉一声,谢谢!