FasterDFS基础配置

一、简介

1、 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。
2、FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
3、FastDFS由跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)构成。跟踪器主要做调度工作,在访问上起负载均衡的作用。
4、跟踪器和存储节点都可以由一台或多台服务器构成。跟踪器和存储节点中的服务器均可以随时增加或下线而不会影响线上服务。其中跟踪器中的所有服务器都是对等的,可以根据服务器的压力情况随时增加或减少。
5、在卷中增加服务器时,同步已有的文件由系统自动完成,同步完成后,系统自动将新增服务器切换到线上提供服务。

二、基本部署步骤
一、实验准备

centos7-1 : tracker 192.168.142.66
centos7-2 : storage+nginx 192.168.142.77

二、开始安装

(1)安装libfastcommon服务(所有节点均进行安装)

安装基础环境包
yum -y install libevent libevent-devel perl make gcc zlib zlib-devel pcre pcre-devel gcc-c++ openssl-devel
安装libfastcommon

[[email protected] ~]# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz
[[email protected] ~]# tar zxf V1.0.38.tar.gz -C /opt/
[[email protected] ~]# cd /opt/libfastcommon-1.0.38/
编译并建立软链接以方便系统识别

[[email protected] libfastcommon-1.0.38]# ./make.sh && ./make.sh install
[[email protected] libfastcommon-1.0.38]# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
[[email protected] libfastcommon-1.0.38]# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
[[email protected] libfastcommon-1.0.38]# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so~~

(2)安装FastDFS服务(所有节点均进行安装)

下载安装
[[email protected] ~]# wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
[[email protected] ~]# tar zxf V5.11.tar.gz -C /opt/
[[email protected] ~]# cd /opt/fastdfs-5.11/
编译

[[email protected] fastdfs-5.11]# ./make.sh && ./make.sh install
将模板文件进行更改

[[email protected] fastdfs-5.11]# cd /etc/fdfs/ //配置文件模板路径
[[email protected] fdfs]# cp tracker.conf.sample tracker.conf
[[email protected] fdfs]# cp storage.conf.sample storage.conf
[[email protected] fdfs]# cp client.conf.sample client.conf

3)tracker监控端配置

建立数据文件、日志文件存放目录
mkdir -m 755 -p /opt/fastdfs
修改tracker配置文件

[[email protected] ~]# vim /etc/fdfs/tracker.conf
#修改以下配置
port=22122 //tracker服务默认端口22122即可
base_path=/opt/fastdfs //tracker存储data和log的跟路径,必须提前创建好
http.server_port=8080 //tracker服务器上启动http服务进程,没装忽略
开启服务

[[email protected] ~]# fdfs_trackerd /etc/fdfs/tracker.conf start
[[email protected] ~]# netstat -atnp | grep 22122
tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 43776/fdfs_trackerd

[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# setenforce 0

(4)storage服务端修改

建立数据文件、日志文件存放目录

mkdir -m 755 -p /opt/fastdfs
修改storage配置文件

[[email protected] ~]# vim /etc/fdfs/storage.conf
#修改以下配置
group_name=group1 //默认组名,根据实际情况修改
port=23000 //storge默认23000,同一个组的storage端口号必须一致
base_path=/opt/fastdfs //storage日志文件的根路径
store_path_count=1 //与下径个数相同,默认为1
store_path0=/opt/fastdfs //提供的存储路径(默认与日志文件存放在一起)
tracker_server=192.168.142.66:22122 //自己的tracker服务器IP(重点!!!)
http.server_port=80 //http访问文件的端口默认为8888,nginx中配置的监听端口保持一致
开启服务

#开启服务(命令支持start|stop|restart)
[[email protected] ~]# fdfs_storaged /etc/fdfs/storage.conf start
[[email protected] ~]# netstat -atnp | grep 23000
tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 40430/fdfs_storaged

[[email protected] ~]# systemctl stop firewalld
[[email protected] ~]# setenforce 0
检查是否与tracker监控端关联成功

[[email protected] ~]# fdfs_monitor /etc/fdfs/storage.conf
Storage 1:
id = 192.168.142.77
ip_addr = 192.168.142.77 (storage) ACTIVE
http domain =
......省略

(5)安装nginx服务(storage:192.168.142.77)

这里为了减少虚拟机开启的数量,就在storage端进行nginx的安装

安装nginx及其组件

[[email protected] ~]# tar zxf nginx-1.12.0.tar.gz -C /opt/

#下载fastdfs-nginx-module安装包
[[email protected] ~]# wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz
[[email protected] ~]# tar zxf V1.20.tar.gz -C /opt/
编译&安装

[[email protected] ~]# cd /opt/nginx-1.12.0
[[email protected] nginx-1.12.0]# ./configure \
--prefix=/usr/local/nginx \
--add-module=/opt/fastdfs-nginx-module-1.20/src/ //fastdfs-nginx-module模块
[[email protected] nginx-1.12.0]# make && make install
注意

可能的报错:
/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory

解决方案:
修改fastdfs-nginx-module-1.20/src/config文件,然后重新配置、编译及安装
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
配置fastdfs-nginx-module模块

[[email protected] nginx-1.12.0]# cd fastdfs-nginx-module-1.20/src
[[email protected] nginx-1.12.0]# cp mod_fastdfs.conf /etc/fdfs/ //移动其配置文件至fdfs目录下

#修改fastdfs-nginx-module模块配置文件mod-fasts.conf
[[email protected] nginx-1.12.0]# cd /etc/fdfs
[[email protected] fdfs]# vim mod_fastdfs.conf
#检查一下配置
base_path=/opt/fastdfs //存放数据文件、日志的路径
tracker_server=192.168.142.66:22122 //tracker端的地址(重点!!!)
url_have_group_name = true //url是否包含group名称
storage_server_port=23000 //需要和storage配置的相同
store_path_count=1 //存储路径个数,需要和store_path个数匹配
store_path0=/opt/fastdfs //文件存储的位置
修改nginx配置文件

[[email protected] fdfs]# vim /usr/local/nginx/conf/nginx.conf
#空行处添加
location ~/M00 {
root /opt/fastdfs/data;
ngx_fastdfs_module;
}
拷贝fastdfs解压目录中的http.conf和mime.types

#不做这步可能会导致报错
[[email protected] fdfs]# cd /opt/fastdfs-5.11/conf/
[[email protected] conf]# cp mime.types http.conf /etc/fdfs/

(6)修改client端(本次实验即为storage端)

修改配置文件

[[email protected] ~]# vim /etc/fdfs/client.conf
#检查以下配置
base_path=/opt/fastdfs //tracker服务器文件路径
tracker_server=192.168.142.66:22122 //tracker服务器IP地址和端口号
http.tracker_server_port=8080 // tracker服务器的http端口号,必须和tracker的设置

三、测验

上传测试文件abc.txt

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf abc.txt

下载文件abc.txt

/usr/bin/fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKiOTV354W2AIf7GAAAAEh3TEws726.txt abc.txt

删除文件abc.txt

fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKiOTV354W2AIf7GAAAAEh3TEws726.txt

原文地址:https://blog.51cto.com/14449536/2462822

时间: 2024-10-10 06:50:44

FasterDFS基础配置的相关文章

FasterDFS基础配置安装

FasterDFS基础配置安装 基本概述 ? FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为载体的在线服务,如相册网站.视频网站等等. ? FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传.下载等服务. 基本结构图 FastDFS服务端有两个

Varnish基础配置实现动静分离web站点

由于一个web站点的程序的访问具有局部性特征:时间上的局部性:一个数据被访问过之后,可能很快会被再次访问到:空间局部性:一个数据被访问时,其周边的数据也有可能被访问到;varnish可将这部分数据缓存下来.缓存的数据存在被访问较频繁的数据可以称其为热区:缓存同样存在局部性:时效性:如果缓存空间耗尽:则采用LRU,最近最少使用算法:将过期的缓存清理掉 varnish的基本工作原理: Varnish通过类似于HTPP反向代理的方式将可以用来缓存的数据缓存下来直接响应给客户端的缓存数据,如果缓存中没有

使用Java管理Azure(1):基础配置

Azure针对Java开发人员提供了非常丰富的依赖库,开发工具,和相关插件,让你通过Java对Azure进行服务管理和开发,本文第一步先介绍如何快速的配置Java开发工具,主要针对目前比较流行的Eclipse和Intellij IDEA工具. 本文主要是基础配置的介绍,主要分为以下三个部分: 准备Azure的测试账号 准备Eclipse的Azure开发环境 准备Intellij IDEA的Azure开发环境 ? 准备Azure测试账号 首先你需要有Azure中国的测试账号.你可以通过Azure.

DDNS基础配置

一.简介 DDNS全名Dynamic Domain Name Server,动态域名解析服务.是由DNS和DHCP服务器组合来提供服务,简单来说就是通过DHCP服务器分配的IP地址可以动态更新到DNS服务上,免除了手动指定的麻烦. 二.平台介绍 软件包都用了centos自带源安装的 centos6.4 x64 dhcp-4.1.1-31.P1.el6.x86_64 bind-9.8.2-0.10.rc1.el6.x86_64 三.服务器端配置过程 1.DNS服务器配置 我在之前的文章中已经写过如

          DNS的基础配置

一.DNS简介 1.DNS:Domain Name System(域名系统),是互联网上IP和域名相互解析的分布式层级结构的数据库.DNS的出现能够使用户更好的更加方便的访问互联网,不用记IP地址来访问互联网,可以通过人类更容易记住域名来访问互联网. 2.DNS是一种C/S架构的服务器,客户机用于一个名字对应的地址,而服务器是为客户机提供查询的,查询由两种机制:迭代查询和递归查询 迭代查询:一般是DNS服务器与DNS服务器之间的查询方式 递归查询:一般是客户机与服务器之间的查询方式 3.DNS是

zabbix 基础配置(四)

zabbix 基础配置(四) ============================================================================ 展示接口: ★graph:simple,custom: ★screen: ★slide show: 演示:   把之前定义的同类型的监控项,放在一屏上  1)设定图像的名称,要显示的监控项,颜色等根据自己的需要设定  2)在监测中,选择图形,查看自己定义的graphs,如下:  2.把所有的图像展现为一屏   1)

zabbix基础配置(二)

zabbix基础配置(二) ============================================================================= 概述: ============================================================================= zabbix agent安装配置:  安装配置过程 1.安装 # yum install zabbix-agent-3.0.2-1.el7.x86_64

H3C 交换机的基础配置

1.reset save    删除以前的配置 2.sysname 配置交换机的名字 3.interface 接口  配置IP地址 4.info-center synchronous       日志同步 5.添加用户与密码(指定类型,级别,认证方式) 6.配置aux vty 6.划分vlan 7.将端口添加到vlan中 8.ip http enable 开户web管理 9.ipmacbind IP地址 Mac地址 端口 vlan      IP.MAC.端口.Vlan的邦定命定 10.ip r

Redhat6.5基础配置指南

Redhat6.5基础配置指南 本文针对鄙人在工作中常用系统配置加以说明,通常公司用于生产和测试的服务器基本上都不能连接外网,需要针对刚刚安装好的系统做一系列的常用配置. 一.常用基础系统配置 1.关闭Selinux 1) 使用root用户,输入命令 vi /etc/selinux/config,修改/etc/selinux/config文件,永久性关闭Selinux 2) 修改文件内容,将SELINUX的参数值更改为disabled,点击i键,进入INSERT模式. 3) 点击ESC键,输入