准备工作;
从github下载fastdfs的源码包
https://github.com/happyfish100/fastdfs-5.08.zip
https://github.com/happyfish100/libfastcommon-master.zip
可能你选择的版本不太一致,尽量选新的版本吧,我直接下载zip包
测试环境,先关闭防火墙和selinux
先安装依赖包
1、安装libfastcommon
yum install -y gcc perl libevent
unzip libfastcommon-master.zip #解压
cd libfastcommon-master
./make.sh
./make.sh install
2、安装fastdfs
unzip fastdfs-5.08.zip #解压
./make.sh
./make.sh install
3、修改配置文件
fastdfs的样例配置文件放在/etc/fdfs目录下,以*.conf.sample结尾
tracker的样例配置文件为/etc/fdfs/tracker.conf.sample
storager的样例配置文件为/etc/fdfs/storage.conf.sample
client 的样例配置文件为/etc/fdfs/client.conf
这些配置文件都有合理的默认值,基本可以直接使用。
如果想尽快看到负载均衡行为,将tracker.conf的store_lookup=0
建议将这两个文件拷贝一份后缀名为.conf,将文件中的路径改成实际存在的,主要是日志文件路径和数据文件的路径
对于storage.conf和client.conf文件将tracker_server配置项指向tracker服务器
4、简单测试
tracker服务器和storage服务器在同一台物理机
#启动tracker
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
#启动storage
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
#执行命令行监控,能看到当前的服务器情况
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
5、测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload local_filename
返回值含有如下行:
group_name=group3, remote_filename=M00/01/74/wKgOmVh_l9OAO7nTAAADtYZpYtI663.cfg
表示该文件存放的组名为group3,文件路径为M00/01/74/wKgOmVh_l9OAO7nTAAADtYZpYtI663.cfg
映射到磁盘路径为/etc/fdfs/storage.conf文件的base_path配置项值+"M00后面的路径",
比如base_path=/var/fastdfs
那么最后的文件存放在"/var/fastdfs/01/74/wKgOmVh_l9OAO7nTAAADtYZpYtI663.cfg"
6、多storage测试
如果是虚拟机,直接将前面配好的虚拟机拷一份。
如果是物理机,那么得将1-5步在新的机器上折腾一遍了
修改新的服务器上的/etc/fdfs/storage.conf配置文件,将tracker_server指向已经启动的tracker 服务器。
可以将group_name设置为和先前的storage服务器一样,那么新加入的server作为先前server的副本。能提交读的并发性。设置为不一样的值,能提高fastdfs服务器的存储容量。这里测试将其设置为不一样的。
执行:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf
当再次执行
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
能看到加入的服务器了
7、再次测试
/usr/bin/fdfs_test /etc/fdfs/client.conf upload local_filename
多上传些文件,就能看到负载均衡情况
Posted in: Linux
Comments are closed.