CentOS7 安装 FastDFS

基于CentOS7 安装 FastDFS

Quick Start

安装fastDFS前准备工作,以CentOS7为例

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

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。

  • tracker-server:跟踪服务器, 主要作用是负载均衡和调度。在内存中记录了所有存储组和存储服务器的状态信息,是客户端和数据存储的主要枢纽。相比GFS更为精简,因为不记录文件索引。

  • storage-server: 存储服务器, 用于存储文件。直接使用操作系统的文件系统来管理和组织文件。

  • group: 组,卷。多个服务器存在一个组中,在一个组中的服务器存储的文件是完全相同的,并且同一个组的服务器地位是对等的。对于文件的操作可以在任意一个组中的服务器上进行。

  • metadata: 元数据,以键值对的方式存储,用于存储文件的相关信息。


首先,准备所需源码包


安装系统依赖包

1
2
3
4

#系统依赖包
yum install -y gcc gcc-c++ make cmake zlib zlib-devel pcre pcre-devel perl-ExtUtils-Embed openssl openssl-devel


安装libfastcommon工具包

1
2
3
4
5
6
7
8

# libfastcommon
tar -czf libfastcommon-1.0.36.tar.gz
cd libfastcommon-1.0.36
./make
./make install
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so


安装fastFDS的Tracker服务(监听服务)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

# 安装
tar -czf fastdfs-5.11.tar.gz
cd fastdfs-5.11
./make
./make install
cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
mkdir -p /home/fdfs

# 修改配置文件
vim /etc/fdfs/tracker.conf

# 配置文件需更改文件内容
disabled=false   # 启用配置文件
port=22122    # 设置tracker的端口号
base_path=/home/fdfs # 设置tracker的数据文件和日志目录(需预先创建)
http.server_port=9000   # 设置http访问的端口号


# 启动tracker
fdfs_trackerd /etc/fdfs/tracker.conf start

# 查看是否启动
netstat -pln|grep fdfs


安装fastFDS的Storage服务(存储节点)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26

# 安装步骤与Tracker服务相同

# 新建storage服务所需目录
mkdir -p /home/fdfs/storage

# 安装完成后,修改配置文件
cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
vim /etc/fdfs/storage.conf

# 配置文件需更改文件内容
group_name=group1 # 组名(第一组为group1,第二组为group2,依次类推...)
base_path=/home/fdfs # 改为:base_path=/home/fdfs
store_path0=/home/fdfs/storage # 改为:store_path0=/home/fdfs/storage
store_path_count=1 # 存储路径个数,需要和store_path个数匹配
tracker_server=192.168.2.235:22122 # 改为自己的ip, tracker服务器IP和端口,有多个则添加多行

# 启动tracker
fdfs_storaged /etc/fdfs/storage.conf start

# 查看是否启动
netstat -pln|grep fdfs

# 在任意节点上查看集群状态
fdfs_monitor /etc/fdfs/storage.conf


安装Nginx服务, 并配置fastdfs-nginx-module模块,使nginx支持fastDFS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

# 解压fastdfs-nginx-module模块
tar -zxf fastdfs-nginx-module-1.20.tar.gz

# 拷贝配置文件
cp /home/fastdfs-nginx-module-1.20/src/mod_fastdfs.conf /etc/fdfs/

# 编辑配置文件
vim /etc/fdfs/mod_fastdfs.conf

# 配置文件mod_fastdfs.conf编辑内容
base_path=/home/fdfs # 改成:base_path=/home/fdfs
tracker_server=192.168.2.235:22122 # 改成自己ip:tracker_server=192.168.2.235:22122,有多个按行添加
storage_server_port=23000 # storage服务器的端口号
group_name=group1 # 当前服务器的group名
url_have_group_name = true # 文件url中是否有group名
store_path_count=1 # 存储路径个数,需要和store_path个数匹配
store_path0=/home/fdfs/storage # 改成:store_path0=/home/fdfs/storage
group_count = 1 # 设置组的个数,设置为0则为单组
# 在末尾增加组的具体信息(有几个group则增加几个)
[group1]
   group_name=group1
   storage_server_port=23000
   store_path_count=1
   store_path0=/home/fdfs/storage

# 安装nginx
tar -zxf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/home/nginx --add-module=/home/fastdfs-nginx-module-1.20/src
make && make install

# 查看是否安装成功nginx
cd /home/nginx
./nginx -V

# 拷贝conf文件到/etc/fdfs/
cp /usr/local/fastdfs/conf/http.conf /usr/local/fastdfs/conf/mime.types /etc/fdfs/

# 修改nginx配置文件支持fastDFS
vim /home/nginx/conf/conf.d/default.conf

# nginx的配置文件核心修改内容

location ~/group[0-9]/M00 {
root /home/fdfs/storage/data;
ngx_fastdfs_module;
}