本文实现了FastDFS的安装,测试
系统环境:ubantu16.04
FastDFS版本:5.0.5
目录
一、FastDFS介绍
二、FastDFS的安装(三台服务器都要安装)
1、下载安装libfastcommon
2、下载安装FastDFS
三、配置Tracker与Storage
1、配置Tracker服务器(本文使用192.168.7.73)
2、配置Storage服务器(两台192.168.7.149,192.168.7.44)
四、测试上传文件
FastDFS是一个由C语言实现的开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储,文件同步,文件访问(文件上传,下载)等;解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务。如相册网站,视频网站等等。
同类的分布式文件还有谷歌的GFS,HDFS(Hadoop),TFS(淘宝)
FastDFS有两个角色:Tracker(跟踪器),Storage(存储节点)
Tracker:主要做调度作用,起到负载均衡的作用;负责管理所有的Storage和Group,每一个Storage再启动后会连接Tracker,告知自己所属的Group,并保持周期心跳
Storage:存储节点,主要提供容量和备份服务;以Group为单位,每个Group内可以有多台Storage,数据互相备份。
由于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
下载,命令:
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安装成功
FastDFS安装成功后,会在/etc目录下会有个fdfs目录,进入fdfs,会发现三个.sample后缀的示例文件。
注意:我按照步骤执行,但是进入/etc/fdfs ,目录,发现没有三个.sample后缀的示例文件,我只好百度找了卸载fdfs的教程卸载重新操作了一遍
在/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服务,命令:
sudo fdfs_trackerd /etc/fdfs/tracker.conf start
类似的命令,关闭tracker服务:
sudo fdfs_trackerd /etc/fdfs/tracker.conf stop
启动tracker服务后,查看监听,命令:
sudo netstat -unltp|grep fdfs
tracker默认端口22122
查看/data/fastdfs/tracker目录文件,发现多出两个文件,用来存放数据和日志的
至此tracker跟踪器安装成功。
两台服务器,同样进入/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服务,命令:可能会有点慢
sudo fdfs_storaged /etc/fdfs/storage.conf start
启动有错误,可以通过/data/fastdfs/storage/logs查看
查看/data/fastdfs/storage下文件内容,生成logs、data两个目录
查看下端口监听,命令:
sudo netstat -unltp|grep fdfs
会看到有两个端口启动了 一个是 tracker , 一个是 storage
至此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下,都可以发现,文件保存成功
至此,文件上传测试成功。
这样上传,浏览器并不能访问