Centos 搭建 FastFDS 分布式文件存储系统

FastFDS:是一个开源的轻量级分布式文件系统,由跟踪服务器(tracker server)、存储服务器(storage server)和客户端(client)三个部分组成,主要解决了海量数据存储问题,特别适合以中小文件(建议范围:4KB < file_size <500MB)为载体的在线服务。

前期准备

libfastcommon-master.zip

FastDFS_v5.05.tar.gz

fastdfs-nginx-module_v1.16.tar.gz

nginx-1.8.0.tar.gz

开始

一.安装 libfastcommon-master.zip

1.解压 libfastcommon-master.zip       tar -zxvf libfastcommon-master.zip

2.进入解压后的文件,执行    ./make.sh && ./make.sh install 

 (ps  可能需要安装gcc  yum -y install gcc-c++ )

3.创建软引用

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

二.安装 FastFDS

1.解压 FastDFS_v5.05.tar.gz          tar -zxvf FastDFS_v5.05.tar.gz

2.进入解压后的文件并执行    ./make.sh  &&  ./make.sh install


安装成功可以看到以上信息   进入    etc/fdfs  可以看到很多配置文件 分别copy 一份

cp client.conf.sample client.conf             客户端配置文件
cp storage.conf.sample storage.conf            存储服务器配置文件cp tracker.conf.sample tracker.conf            跟踪服务器配置文件

三.配置跟踪服务器 Tracker

1.在配置Tracker之前,首先需要创建Tracker服务器的文件路径,即用于存储Tracker的数据文件和日志文件等     mkdir  /export/fastdfs/tracker

2.进入 tracker.conf            vi  tracker.cof

3. 修改以一下内容

  • disabled=false #启用配置文件(默认启用)
  • port=22122 #设置tracker的端口号,通常采用22122这个默认端口
  • base_path=/export/fastdfs/tracker #设置tracker的数据文件和日志目录

4.创建软引用

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

5.启动跟踪服务器

service fdfs_trackerd start

启动成功

四.配置存储服务器 Storage

1.创建Storage服务器的文件目录和日志的存储路径   mkdir  /export/fastdfs/storage

2.进入 storage.conf      vi storage.conf

3.修改一下内容

  • disabled=false #启用配置文件(默认启用)
  • group_name=group1 #组名,根据实际情况修改
  • port=23000 #设置storage的端口号,默认是23000,同一个组的storage端口号必须一致
  • base_path=/export/fastdfs/storage #设置storage数据文件和日志目录
  • store_path_count=1 #存储路径个数,需要和store_path个数匹配
  • store_path0=/export/fastdfs/storage #实际文件存储路径
  • tracker_server=192.168.111.11:22122 #tracker 服务器的 IP地址和端口号,如果是单机搭建,IP不要写127.0.0.1,否则启动不成功(此处的ip是我的CentOS虚拟机ip)
  • http.server_port=8888 #设置 http 端口号

4.创建软引用

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

5.启动 Storage  服务

service fdfs_storaged start

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


Storage  ACTIVE   说明 storage服务器已经登记到 tracker服务器上

五.配置Client 客户端服务器

1.进入 client.conf      vi   client.conf

2.修改一下内容

  • base_path=/export/fastdfs/tracker #tracker服务器文件路径
  • tracker_server=192.168.111.11:22122 #tracker服务器IP地址和端口号

3.测试上传

/usr/bin/fdfs_upload_file  /etc/fdfs/client.conf  /opt/BLIZZARD.jpg

这就表示我们的文件已经上传成功了,当文件存储到某个子目录后,即认为该文件存储成功,接下来会为该文件生成一个文件名,文件名由group、存储目录、两级子目录、fileid、文件后缀名(由客户端指定,主要用于区分文件类型)拼接而成,如下图:


但此时我们无法通过浏览器访问图片,因为fastFDS 已经不支持 http协议,所以我们要搭建nginx 反向代理

六.安装配置 nginx

1.解压 nginx-1.8.0.tar.gz    tar -zxvf  nginx-1.8.0.tar.gz

2.解压 fastdfs-nginx-module_v1.16.tar.gz    tar -zxvf fastdfs-nginx-module_v1.16.tar.gz 

(ps:进入解压后的文件   vi   INSTALL      可看到对FastDFS 版本的要求。)



3.进入  cd  fastdfs-nginx-module/src  

编辑 config   vi  config


删除这两个local

4.编译安装nginx

./configure --prefix=/usr/local/nginx --add-module=/root/fastdfs-nginx-module/src
5. 执行       make && make install

6.安装成功后,进入  /usr/local/nginxconf       编辑   nginx.conf   文件      vi   nginx.conf

修改一下内容

listen      80;

location ~/group1/M00 {
      root /opt/fastdfs_storage_data/data;
      ngx_fastdfs_module;
}

7.进入 FastDFS 的目录下

cp -r ./conf/http.conf /etc/fdfs/
cp -r ./conf/mime.types /etc/fdfs/

8.进入 fastdfs-nginx-module  目录下

cp -r ./src/mod_fastdfs.conf /etc/fdfs/

9.进入 etc/fdfs   编辑  mod_fastdfs.conf   vi   mod_fastdfs.conf

10.修改一下内容

  • base_path=/export/fastdfs/storage #保存日志目录
  • tracker_server=192.168.111.11:22122 #tracker服务器的IP地址以及端口号
  • storage_server_port=23000 #storage服务器的端口号
  • url_have_group_name = true #文件 url 中是否有 group 名
  • store_path0=/export/fastdfs/storage # 存储路径
  • group_count = 1 #设置组的个数,事实上这次只使用了group1

11.启动nginx 

/usr/local/nginx/sbin/nginx

至此,fastFDS 就配置完成了

感谢淘宝资深架构师余庆大神开源了如此优秀的轻量级分布式文件系统。大家可以到大神的git上下载资源

https://github.com/happyfish100/fastdfs/releases

资源下载  :  https://download.csdn.net/download/linlitterwhite/10310117

感谢这位博客

  https://www.linuxidc.com/Linux/2016-09/135537.htm










你可能感兴趣的:(centos)