FastDFS分布式文件系统(主备Tracker、主备Storage)
API
https://sourceforge.net/projects/fastdfs/files/
参考:
https://www.cnblogs.com/chiangchou/p/fastdfs.html#_label0
https://www.jianshu.com/p/1c71ae024e5e
https://www.cnblogs.com/cpy-devops/p/6105845.html
每台tracker上安装Nginx和每台storage上安装nginx的作用:
1.3.1 Tracker Server
每个tracker server互相平等,tracker server上部署nginx是为了对外提供http文件下载接口,tracker上nginx只是起到负载均衡的作用。tracker的nginx会代理转发至storage上的nginx。
tracker上的两个nginx可以采用主备方式实现高可用。nginx高可用参数nginx文档。
1.3.2 Storage Server
每台storage上也部署nginx,storage上的nginx与tracker上的nginx有区别,storage上的nginx需要安装FastDSF-nginx模块,此模块的作用是使用FastDFS和nginx进行整合,nginx对外提供http文件下载接口,注意:nginx只提供文件下载接口不提供上传接口。文件上传仍然通过java client API进行。
1、g++: Command not found
yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
2、libfdfsclient.so不存在先执行前两个
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
下载安装FastDFS完以后
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
建立 /usr/bin目录下的fdfs脚本 到 /usr/local/bin 的软链接
ln -s /usr/bin/fdfs_trackerd /usr/local/bin
ln -s /usr/bin/fdfs_storaged /usr/local/bin
ln -s /usr/bin/stop.sh /usr/local/bin
ln -s /usr/bin/restart.sh /usr/local/bin
编辑tracker.conf
base_path=/home/fastdfs/tracker
mkdir -p /home/fastdfs/tracker
3、编辑storage.conf
vim storage.conf
base_path=/home/fastdfs/storage
store_path0=/home/fastdfs/file
tracker_server=192.168.188.129:22122
tracker_server=192.168.188.130:22122
4、创建Storage基础数据目录,对应base_path目录
mkdir -p /home/fastdfs/storage
mkdir -p /home/fastdfs/file
5、查看store_path0目录下的目录文件
ls /home/fastdfs/file/data
编辑client.conf
base_path=/home/fastdfs/client
tracker_server=192.168.188.129:22122
tracker_server=192.168.188.130:22122
mkdir -p /home/fastdfs/client
6、临时目录创建文件(192.1681.88.128 中进行)
cd /tmp; touch world.txt; ll
7、上传文件测试
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /tmp/world.txt
chmod 755 /etc/rc.local
location /group1/M00 {
alias /home/fastdfs/file/data;
}
8、在nginx中添加模块
/usr/local/nginx/sbin/nginx -s stop
cd /usr/local/lib/nginx-1.12.1/
cd /usr/local/lib/fastdfs-nginx-module-master/src
cd /usr/local/lib/fastdfs-5.05/conf/
vim /etc/fdfs/mod_fastdfs.conf
tracker_server=192.168.188.129:22122
tracker_server=192.168.188.130:22122