部署分布式存储系统FastDFS

jopen 8年前

FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS是分布式存储系统,可以提供图片服务。

在本机使用vmware虚拟机安装,供使用8台机器,架构如下:

部署分布式存储系统FastDFS

第一天:

准备了VMWARE虚拟机,linux操作系统,当时想选择centos6.5,但是安装后有问题,本人又不喜欢centos7,选择了ubuntu14.04 server版,共创建复制了11台机器。

下载了FastDFS   5.05版本相关软件。


第二天:

准备了Ansible 自动化运维工具,并熟悉各种模块,本来就这几台机器,手工在每台机器上操作,也安装fastdfs成功了。但本着学习的目的,还是撑着使用ansible 来复制文件,修改文件熟悉,运行命令,运行脚本等操作,因为不熟悉,和碰到几个问题,还有就是网速慢,折腾了一天,今天碰到的最大的两个问题记录下来,

第一个:

ansible在ubuntu中执行需要root权限时,即使提供了sudo参数和密码,也无法成功的原因,是因为命令中没有使用sudo的原因,例如:

ansible all -a "sudo apt-get install gcc " --sudo --ask-sudo-pass 正确

写成

ansible all -a "apt-get install gcc" --sudo --ask-sudo-pass   错误

因为不熟悉,简单的问题,折腾的我还是很难受。晚上思考后,发现是这样解决的,第二天测试通过,当时为这个问题专门百度和加群解决,发现时间浪费了不少,可是没有人回答。

第二个:

2,获取某个文件的第二行第二列的写法如下:

`sed -n "2,1p" /etc/hosts | awk '{print $2}'`

其中sed -n "2,1p"  /etc/hosts代表从文件/etc/hosts打印第二行到第一行,因1<2,所以第一行不打印,如果第二个参数为3,就打印第二行,第三行。

p参数代表打印,-n参数代表静默

awk '{print $2}'

代表打印给出的文本第二列。$0代表全部,$1代表第1列。

这个问题是因为我想更改主机名称。


第三天

今天开始安装Tracker Server,安装两台,

在编译安装track server是,碰到这样的问题,

无法找到文件 "logger.h"

答案是百度到的,需要安装另一个包libfastcommon。

在启动tracker server时报错如下:

/usr/bin/fdfs_trackerd: error while loading shared libraries: libfastcommon.so: 

网上提到这个问题还是很多的,我的解决方法如下:

首先,我安装是默认安装,在./configure时未加任何参数。

然后,在/usr/lib64目录下可以找到该libfastcommon.so,

建立软连接,

sudo ln -sv /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so

sudo ldconfig

这样我的问题就解决了。


第四天

今天安装storage server,4台

安装步骤同昨天安装tracker server,不同的是配置文件不一样,昨日使用的tracker.conf,今天的为storage.conf

还需要安装nginx,我使用源码编译。

安装步骤很简单,下载zlib、pcre、openssl、fastdfs-nginx-module、nginx

以上压缩包全部解压缩。

进入nginx源码目录

配置如下:

./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module/src --with-http_ssl_module --with-pcre=/root/pcre-8.37 --with-openssl=/root/openssl-1.0.2d --with-zlib=/root/zlib-1.2.8

make

make install

安装目录在/usr/local/nginx

今天还碰到一个问题,意思是无法找到libfdfsclient.so,处理方法同libfastcommon.so

第五天

今天安装了ntp时间服务器,因现在为测试,将ntp服务合并到admin服务器上。

全部机器都安装ntp,安装很简单,一个命令就可以。

命令为:sudo apt-get install ntp

安装完毕后,差别主要在配置文件上,

服务器的配置文件如下:

图片稍后补上

ntp客户端配置文件如下:

图片稍后补上

在安装时间服务器的时候,顺便有设置时区的问题,ubuntu设置时区很简单:

ubuntu时区调整命令:

dpkg-reconfigure tzdata

来自:http://my.oschina.net/longfirst/blog/498719