CentOS 7.5下搭建高可用的FastDFS分布式文件系统

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

(1)每次上传文件后都会返回一个地址,用户需要自己保存此地址。

(2)为了支持大容量,存储节点(服务器)采用了分卷(或分组)的组织方式。存储系统由一个或多个卷组成,卷与卷之间的文件是相互独立的,所有卷的文件容量累加就是整个存储系统中的文件容量。一个卷可以由一台或多台存储服务器组成,一个卷下的存储服务器中的文件都是相同的,卷中的多台存储服务器起到了冗余备份和负载均衡的作用。

配置环境:

CentOS 7.5 x 64

tracker server: 192.168.5.71(tracker暂时一台,后续再添加一台做nginx+keepalived高可用)

storage server: 192.168.5.72 192.168.5.73(group1)

storage server: 192.168.5.74 192.168.5.75(group2)

CentOS 7.5下搭建高可用的FastDFS分布式文件系统

#hosts文件配置

cat >> /etc/hosts << EOF 192.168.5.71 storage71.blufly.com storage71 192.168.5.72 storage72.blufly.com storage72 192.168.5.73 storage73.blufly.com storage73 192.168.5.74 storage74.blufly.com storage74 192.168.5.75 storage75.blufly.com storage75 EOF

###---------------------- 安装配置tracker server ---------------------------###

yum -y install gcc-c++ libevent

#先安装libfastcommon

cd /opt git clone https://github.com/happyfish100/libfastcommon.git cd libfastcommon/ ./make.sh ./make.sh install

#安装fastdfs:

cd /opt git clone https://github.com/happyfish100/fastdfs.git cd fastdfs ./make.sh ./make.sh install

#配置文件解释:

tracker.conf //负责均衡调度服务器配置文件 client.conf //客户端上传配置文件 http.conf //http服务器配置文件 storage.conf//文件存储服务器配置文件 mime.types //文件类型配置文件

#修改tracker server的配置文件

cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf vi /etc/fdfs/tracker.conf bind_addr= 改为 bind_addr=192.168.25.204 base_path=/home/yuqing/fastdfs 改为 base_path=/data/fastdfs http.server_port=8080 改为 http.server_port=80

#启动tracker server

mkdir -p /data/fastdfs /etc/init.d/fdfs_trackerd start [root@storage71 fastdfs]# netstat -tnlp|grep fdfs tcp 0 0 192.168.5.71:22122 0.0.0.0:* LISTEN 11631/fdfs_trackerd

#开机启动

/sbin/chkconfig --add fdfs_trackerd /sbin/chkconfig --level 2345 fdfs_trackerd on

###--------------------------- 安装配置storage server ----------------------###

yum -y install gcc-c++ libevent

#先安装libfastcommon

cd /opt git clone https://github.com/happyfish100/libfastcommon.git cd libfastcommon/ ./make.sh ./make.sh install

#安装fastdfs:

cd /opt git clone https://github.com/happyfish100/fastdfs.git cd fastdfs ./make.sh ./make.sh install

#配置storage server

cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf #修改storage server的配置文件: vm /etc/fdfs/storage.conf bind_addr= 改为 bind_addr=192.168.5.72 #base_path需要和tracker部分的base_path保持一致,如果有修改过tracker的 base_path=/home/yuqing/fastdfs 改为 base_path=/data/fastdfs #修改storage的资源存放路径 store_path0=/home/yuqing/fastdfs 改为 store_path0=/data/fastdfs #如果有多个挂载磁盘则定义多个store_path,如下 #store_path1=...... #store_path2=...... 修改storage的对应的tracker_server的ip地址和端口 tracker_server=192.168.209.121:22122 改为 tracker_server=192.168.5.71:22122 #如果有多个则配置多个tracker_server #tracker_server=...... #tracker_server=...... http.server_port=8888 改为 http.server_port=80

#创建数据目录,并启动storage server

mkdir -p /data/fastdfs /etc/init.d/fdfs_storaged start [root@storage72 fastdfs]# netstat -tnlp|grep fdfs tcp 0 0 192.168.5.72:23000 0.0.0.0:* LISTEN 11624/fdfs_storaged

#开机启动

/sbin/chkconfig --add fdfs_storaged /sbin/chkconfig --level 2345 fdfs_storaged on

#查看tracker和storage的链接情况

[root@storage71 ~]# netstat -tnlpa|grep 22122 tcp 0 0 192.168.5.71:22122 0.0.0.0:* LISTEN 11631/fdfs_trackerd tcp 0 0 192.168.5.71:22122 192.168.5.72:63755 ESTABLISHED 11631/fdfs_trackerd tcp 0 0 192.168.5.71:22122 192.168.5.73:47697 ESTABLISHED 11631/fdfs_trackerd

#在tracker server上配置客户端上传文件

[root@storage71 fastdfs]# cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf vim /etc/fdfs/client.conf #base_path需要和tracker部分的base_path保持一致 base_path=/home/yuqing/fastdfs 改为 base_path=/data/fastdfs tracker_server=192.168.0.197:22122 改为 tracker_server=192.168.5.71:22122

#上传个文件,如果上传成功,会返回一个url,我们记住这个url,后面安装了nginx就可以通URL来访问上传的这个文件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/76666a2be68706cfecbbd94c74b005af.html