FastDFS【一】:FastDFS在Ubuntu的安装配置

本文目录:

  • 一、前言
  • 二、FastDFS介绍
  • 三、FastDFS下载安装
  • 四、配置tracker与storage
  • 五、测试
  • 六、总结

一、前言:

本文实现了FastDFS的安装,测试

系统环境:ubantu16.04

FastDFS版本:5.0.5


二、FastDFS介绍

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

同类的分布式文件还有谷歌的GFS,HDFS(Hadoop),TFS(淘宝)

FastDFS有两个角色:Tracker(跟踪器),Storage(存储节点)

Tracker:主要做调度作用,起到负载均衡的作用;负责管理所有的Storage和Group,每一个Storage再启动后会连接Tracker,告知自己所属的Group,并保持周期心跳

Storage:存储节点,主要提供容量和备份服务;以Group为单位,每个Group内可以有多台Storage,数据互相备份。

官方提供的架构图:

本文架构是三台服务器:一台Tracker,两台Storage(为同一Group)

Tracker:192.168.7.73

Storage1:192.168.7.149

Storage2:192.168.7.44


三、FastDFS的安装(三台服务器都要安装)


1、下载安装libfastcommon

由于fastdfs5.0.5依赖libfastcommon,先安装libfastcommon

下载:本文下载在/opt/fastdfs文件中,命令:

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

解压libfastcommon,命令:

tar -zxvf V1.0.7.tar.gz

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

cd libfastcommon-1.0.7
  ./make.sh


安装,命令:

 ./make.sh install

显示如上图,libfastcommon 安装成功


设置软连接,命令:

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so


2、下载安装FastDFS

下载,命令:

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

解压FastDFS,命令:

tar -zxvf V5.05.tar.gz

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

cd fastdfs-5.05
./make.sh


安装,命令:

./make.sh install

显示如上图,FastDFS安装成功


四、配置Tracker与Storage

FastDFS安装成功后,会在/etc目录下会有个fdfs目录,进入fdfs,会发现三个.sample后缀的示例文件。

1、配置Tracker服务器(本文使用192.168.7.73)

在/etc/fdfs目录下,修改tracker.conf,命令:

 cp tracker.conf.sample tracker.conf
   vim tracker.conf

打开tracker.conf,修改如下处:

# the base path to store data and log files
base_path=/data/fastdfs/tracker

当然前提是,首先要创建/data/fastdfs/tracker目录,命令:

mkdir -p /data/fastdfs/tracker

修改保存, 启动tracker服务,命令:

fdfs_trackerd /etc/fdfs/tracker.conf start

类似的命令,关闭tracker服务:

fdfs_trackerd /etc/fdfs/tracker.conf stop


启动tracker服务后,查看监听,命令:

netstat -unltp|grep fdfs

tracker默认端口22122


查看/data/fastdfs/tracker目录文件,发现多出两个文件,用来存放数据和日志的


至此tracker跟踪器安装成功。


2、配置Storage服务器(两台192.168.7.149,192.168.7.44)

两台服务器,同样进入/etc/fdfs目录下,命令:

cp storage.conf.sample storage.conf
vim storage.conf

打开storage.conf,修改如下处:

# the base path to store data and log files
base_path=/data/fastdfs/storage

# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/data/fastdfs/storage

# tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
#配置tracker跟踪器ip端口
tracker_server=192.168.7.73:22122

当然前提是,首先要创建/data/fastdfs/storage目录,命令:

mkdir -p /data/fastdfs/storage


修改保存后,启动storage服务,命令:可能会有点慢

fdfs_storaged /etc/fdfs/storage.conf start

启动有错误,可以通过/data/fastdfs/storage/logs查看


查看/data/fastdfs/storage下文件内容,生成logs、data两个目录


查看下端口监听,命令:

netstat -unltp|grep fdfs

storage默认端口23000


至此Storage存储节点安装成功。


所有存储节点都启动之后,可以在任一存储节点上使用如下命令查看集群的状态信息:

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


通过上两图可以看到,两台storage都为Active,配置成功


五、测试上传文件

三台服务器随便选择一台服务器,这里我选择192.168.7.44服务器

同样进入/etc/fdfs目录,编译client.conf,命令如下:

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


修改如下:

# the base path to store log files
base_path=/data/fastdfs/client

# tracker_server can ocur more than once, and tracker_server format is
#  "host:port", host can be hostname or ip address
#配置tracker跟踪器ip端口
tracker_server=192.168.7.73:22122

同样前提是,首先要创建/data/fastdfs/client目录,命令:

mkdir -p /data/fastdfs/client


上传/opt目录的一张图片(名为:14.jpg),命令:

fdfs_test /etc/fdfs/client.conf upload /opt/14.jpg

如上图,上传成功,分别进入两台storage服务器目录/data/fastdfs/storage/data/00/00下,都可以发现,文件保存成功

至此,文件上传测试成功。


这样上传,浏览器并不能访问

在下一篇,将通过fastdfs与nginx结合,实现浏览器访问


六、总结

本篇介绍了FastDFS在ubantu上的安装,测试。

更多关于FastDFS的使用,请关注本专栏

后期更新将会第一时间收到通知

哪里写的不好的地方,请留言私信


随手点赞,手有余香

编辑于 2017-09-08 16:05