该测试基于两台服务器,集群搭建只需按一中的步骤分别在两台服务器上搭建即可;
测试一:单个tracker对应两个storager(storager组名相同)
1:修改两个storager的storager.conf文件中的tracker_server为tracker的地址,group相同
2:设定对单个tracker上传图片,结果为两台服务器上均有图片,且图片名相同;
结论:此时两个storager为同一个组,图片上传至该组内,成员间会相互备份
测试二:两个tracker分别对应两个storager(storager组名相同)
1:分别修改两个storager的storager.conf文件中的tracker_server为不同的两个tracker的地址,group相同
2:设定对两个tracker上传图片,上传多次后发现两台服务器上均有图片,数量相同,且图片名不相同
结论:此时两个storager组名相同,但分别被不同的tracker控制实现了负载均衡
测试三:两个storager(storager组名相同)分别配置两个tracker(测试主备关系)
1:分别修改两个storager的storager.conf文件中在加一个tracker_server(tracker_server可配置多个每个一行),此时两个storager中tracker_server配置相同,storager同时被两个tracker控制
2:设定对两个tracker上传图片,结果为两台服务器上均有图片,数量相同图片名称相同
结论:同测试一
3:此时关闭其中一台服务器的tracker
4:设定对两个tracker上传图片,图片上次依旧成功,两台服务器均有图片,数量相同,且图片名相同
结论:两个tracker同时控制两个storager时,两个storager为同一个组,成员间相互备份,而两个tracker形成主备关系,其中一台不能进行服务时,另一台能继续提供服务
期间还运到另外一个问题,当把两个storager分别改成本机的tracker地址在上传文件时,居然可以从另一台机子传到这一台,而且两台机子的依旧会进行相互备份。后来发现原来tracker会把所有连接过自己的storager记录在本地文件中,下一次启动的时候回从文件中读取自己管理的storager,原来连接过的几台storager依旧是组的关系,
可以通过fdfs_monitor 查看当前连接的storager,在此之前需要先配置client.conf,修改base_path为日志所在文件夹的地址,tracker_server为本机tracker的地址。
通过以下指令查看
/usr/local/include/fastdfs/bin/fdfs_monitor /etc/fdfs/client.conf
fdfs安装路径中的fdfs_monitor client.conf文件位置
srorage1,srorage2…..即为tracker当前连接着的srorage ,多个表示管理着多台,当需要把该srorage去除时,通过以下指令删除:
/usr/local/include/fastdfs/bin/fdfs_monitor /etc/fdfs/client.confdelete group1 10.110.10.130
fdfs安装路径中的fdfs_monitor client.conf文件位置 delete 组名ip_addr