fastdfs集群搭建_Linux服务器开发架构师进阶之路:集群专题之(fastdfs集群)

一、集群模式

  • 由于本人机器环境有限,因此本人在一台云服务器上进行本地集群搭建
  • 本次集群环境为:
  • 1台client端
  • 1台tracker服务端3
  • 台storage服务端,分为两组
ea4dce911b49e57c65c59afdcdfddc9e.png

二、tracker端搭建

  • 第一步:在家目录下创建一个fastdfs/目录,用来存储fastdfs相关的文件。然后在fastdfs目录内创建一个tracker/目录用来存放tracker服务端相关的内容
mkdir ~/fastdfsmkdir ~/fastdfs/trackerls ~/fastdfs
c8c5da20fed6f1c6611489aa9f6547d3.png
  • 第二步:拷贝/etc/fdfs/下的tracker.conf.sample配置文件,复制一份名为tracker.conf,然后上面创建的tracker目录下
sudo cp /etc/fdfs/tracker.conf.sample ~/fastdfs/tracker/tracker.confls ~/fastdfs/tracker
fd8a0ba596da7a254c9be7fe6cd98e67.png
  • 第三步:修改配置文件,修改的内容有:其中port默认为22122,当启动tracker时,其服务监听端口为22122base_path:用来存储节点信息和日志的目录其他的参数不需要变动
sudo vim ~/fastdfs/tracker/tracker.conf
92aaac447395fdb3266fd9228cfd2ea8.png
  • 第四步:启动tracker服务端
fdfs_trackerd ~/fastdfs/tracker/tracker.conf
a8d3414a278112399dd116ecaa4f46da.png
  • 第五步:输入下面的命令可以查看到tracker服务端启动成功
netstat -aptn | grep 22122
eaf1da33b95254f79505a8c13c3640ff.png
  • 第六步:可以查看相关的文件data:存储tracker节点的相关数据log:存储tracker节点的日志
ls ~/fastdfs/tracker/
17296b4cb9e1c4d1714021bf671bcfcb.png

三、group1组配置

  • 第一步:
  • 在家目录的fastdfs目录下创建一个storage/目录用来存放storage服务端相关的内容
  • 然后在storage/目录下创建group1目录用来存放组1相关内容
  • 然后创建在group1目录创建storage1目录和storage2目录,分别两台storage
  • 然后在storage1目录和storage2目录下分别创建store_data目录,用来存放storage节点实际的文件数据
# 存放所有storage节点mkdir ~/fastdfs/storage# 存放group1中的所有节点mkdir ~/fastdfs/storage/group1# 存放group1中的storage1节点mkdir ~/fastdfs/storage/group1/storage1## 存放group1中的storage2节点mkdir ~/fastdfs/storage/group1/storage2# 存放group1中的storage1节点实际数据的(store_path0选项所指地址)mkdir ~/fastdfs/storage/group1/storage1/store_data# 存放group1中的storage2节点实际数据的(store_path0选项所指地址)mkdir ~/fastdfs/storage/group1/storage2/store_data ls ~/fastdfs ~/fastdfs/storage ~/fastdfs/storage/group1/
8acfc75b6c73add50b90455ef3f63e78.png
  • 第二步:拷贝/etc/fdfs/下的storage.conf.sample配置文件,分别复制两份,放到~/fastdfs/storage/group1/storage1和~/fastdfs/storage/group1/storage2目录下
sudo cp /etc/fdfs/storage.conf.sample ~/fastdfs/storage/group1/storage1/storage.confsudo cp /etc/fdfs/storage.conf.sample ~/fastdfs/storage/group1/storage2/storage.confls ~/fastdfs/storage/group1/storage1/ ~/fastdfs/storage/group1/storage2/
49cc32b9082ff6dbd676d4a14cce4bcd.png
  • 第三步:修改storage1的配置文件
  • group_name:默认为group1,表示其在第一组
  • port:默认为23000,也不变
  • base_path:用来节点数据和日志的,设置为上面我们设置的目录
  • store_path0:真正存储文件数据的,设置为上面我们设置的目录;其会在该目录下创建data目录用来存储文件数据
  • tracker_server:要连接的tracker服务地址,此处填写我们上面创建的tracker服务(如果有多个tracker服务端,那么可以填写多个,每个占一行)
  • 其他的参数不需要变动
sudo vim ~/fastdfs/storage/group1/storage1/storage.conf
85e8d0963aea82c7c7e1da8090ec0d03.png
  • 第四步:修改storage2的配置文件
  • group_name:默认为group1,表示其在第一组
  • port:修改23001
  • base_path:用来节点数据和日志的,设置为上面我们设置的目录
  • store_path0:真正存储文件数据的,设置为上面我们设置的目录
  • tracker_server:要连接的tracker服务地址,此处填写我们上面创建的tracker服务
  • 其他的参数不需要变动
sudo vim ~/fastdfs/storage/group1/storage2/storage.conf
690f6c23057d1eae87b51f05698fb613.png
  • 第五步:启动storage1、storage2服务端
sudo fdfs_storaged ~/fastdfs/storage/group1/storage1/storage.conf sudo fdfs_storaged ~/fastdfs/storage/group1/storage2/storage.conf
72285d83380bb97e2eafe72566e9967d.png
  • 第六步:输入下面的命令可以查看到两个tracker是否启动成功(要过几十秒再查看,因为storage需要创建65536个目录)
netstat -aptn | grep 23000netstat -aptn | grep 23001
122388bfecb5759746c096d8ae413ae9.png
  • 第七步:输入下面的命令查看到storage服务是否接收到tracker1服务的连接,可以看到连接成功
netstat -aptn | grep 22122
0bf1be31168eb891fd13f561147c22c1.png
  • 第八步:可以查看相关的文件
  • data:存储storage节点的相关数据
  • log:存储storage节点的日志
  • store_data:storage实际存放数据文件的地方
ls ~/fastdfs/storage/group1/storage1
204a1c121cf216f38f28b73f8788e724.png
  • store_data目录:
  • store_data目录下会有一个data目录,用来存放所有数据的
  • data目录下有255个目录,这255个目录下又有255个目录,因此总共有25536个目录来存储数据
7f6a20ce0d905fc609d36772bd1816e6.png

四、group2组配置

  • 第一步:
  • 接着上面的演示案例
  • 然后在storage/目录下创建group2目录用来存放组2相关内容
  • 然后创建在group2目录创建storage目录,用来存放组2中storage服务器的内容
  • 然后在storage目录下再创建store_data目录,用来存放storage节点实际的文件数据
# 存放group2中的所有节点mkdir ~/fastdfs/storage/group2# 存放group2中的storage节点mkdir ~/fastdfs/storage/group2/storage# 存放group2中的storage节点实际数据的(store_path0选项所指地址)mkdir ~/fastdfs/storage/group2/storage/store_datals ~/fastdfs ~/fastdfs/storage ~/fastdfs/storage/group2/
d6239611ff7d57d9597b26bf62ccd02f.png
  • 第二步:拷贝/etc/fdfs/下的storage.conf.sample配置文件,放到~/fastdfs/storage/group2/storage目录下
sudo cp /etc/fdfs/storage.conf.sample ~/fastdfs/storage/group2/storage/storage.conf ls ~/fastdfs/storage/group2/storage/
61e374cce26f5a44f6d5bf5af8269250.png
  • 第三步:修改storage的配置文件
  • group_name:修改为group2,因此它在第二组了
  • port:修改为23002
  • base_path:用来节点数据和日志的,设置为上面我们设置的目录
  • store_path0:真正存储文件数据的,设置为上面我们设置的目录;其会在该目录下创建data目录用来存储文件数据
  • tracker_server:要连接的tracker服务地址,此处填写我们上面创建的tracker服务(如果有多个tracker服务端,那么可以填写多个,每个占一行)
  • 其他的参数不需要变动
sudo vim ~/fastdfs/storage/group2/storage/storage.conf
ea4bf2f0c91c9ba45b9c95ccff0b060c.png
  • 第四步:启动storage服务端
sudo fdfs_storaged ~/fastdfs/storage/group2/storage/storage.conf
b4f5dc8d4a030892db5d38535469c001.png
  • 第五步:输入下面的命令可以查看到两个tracker是否启动成功(要过几十秒再查看,因为storage需要创建65536个目录)
netstat -aptn | grep 23002
3fdd578e4c8bcc0c6face68fc98be92c.png
  • 第六步:输入下面的命令查看到storage服务是否接收到该tracker服务的连接,可以看到连接成功
netstat -aptn | grep 22122
806282f23d357707bea77c919466e3f4.png
  • 第七步:可以查看相关的文件,与上面一样的,就不详细介绍了
ls ~/fastdfs/storage/group2/storage
322ba67f5996ed57d6daaa24f9e77309.png

五、使用客户端检测集群状态、操作文件

  • 第一步:接着上面的演示案例,在fastdfs目录下创建一个client目录,用来存放客户端的相关数据
mkdir ~/fastdfs/client ls ~/fastdfs
e763b376d069643fa1410fb886903d68.png
  • 第二步:将/etc/fsfd下客户端的配置文件client.conf.sample拷贝一份,放到~/fastdfs/client/下,命名为client.conf
sudo cp /etc/fdfs/client.conf.sample ~/fastdfs/client/client.confls ~/fastdfs/client/
15095bf9ead8f0e556cbde695df705cf.png
  • 第三步:修改配置文件
  • base_path:存储客户端相关文件,填上面我们建立的
  • tracker_server:要连接的tracker_server服务端地址,填上面我们开启的
sudo vim ~/fastdfs/client/client.conf
e8f67e43158027805db3f9663af7f344.png
  • 第四步:先输入下面的命令来检测一下storage服务端的状态,查看当前集群的相关信息
fdfs_monitor ~/fastdfs/client/client.conf
  • 信息如下所示:
  • tracker服务端的地址为0.0.0.0:22122
  • 有两个group组
  • 组1中有1个storage server(上面我们配置了两台,但是此处只生效1台,可能是我哪里没弄好,不管了,下次再说吧,先凑合着用)
  • 其中组1中端口为23001的storage server处于“ACTIVE”状态,因此可以使用
  • 组2中有1个storage server,storage server端口为23002,并且处于“ACTIVE”状态(与预期一样)
219a9240b3e37a55bbb78fdff99954e9.png
4d7c6194218e322c3cef265407955d50.png
  • 第五步:现在我们创建一个文件,并在文件中输入HelloWorld字符串
touch test.txt & echo "HelloWorld" > test.txtcat test.txt
121f080b250ca2f2b1d9db25bb9952a2.png
  • 第六步:输入下面的命令将该文件上传到FastDFS文件系统中,显示上传成功
fdfs_upload_file ~/fastdfs/client/client.conf ./test.txt
015d2c0f42a1cea04b08c16e730067fa.png
  • 第七步:通过上面命令的执行结果可以看到,文件被上传到group1组中的第2台storage2服务器stora_data/data/目录的00/00/目录下,查看如下,成功
cat ~/fastdfs/storage/group1/storage2/store_data/data/00/00/fwAAAV8C6XWAMshWAAAACxt5uAc563.txt
9073bd527a75ae3573bc0ab82f2fb0eb.png
  • 第八步:我们创建一个目录,用来接收下载的文件,然后输入fdfs_download_file命令下载文件
mkdir test cd test fdfs_download_file ~/fastdfs/client/client.conf group1/M00/00/00/fwAAAV8C6XWAMshWAAAACxt5uAc563.txt
70a12a110727a23d09bd5f67b11abdb8.png
  • 第九步:输入下面的命令可以删除文件,删除完成之后再次查看,文件没了
fdfs_delete_file ~/fastdfs/client/client.conf group1/M00/00/00/fwAAAV8C6XWAMshWAAAACxt5uAc563.txtls ~/fastdfs/storage/group1/storage2/store_data/data/00/00/
c216a707d3e1c92a218b06fd66a24789.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值