fastDFS分布式存储服务器
1.什么是fastDFS?
客户端群:client
服务器端群:分为 Tracker集群和Storager集群
Tracker集群:每个 tracker 节点地位平等。收集 Storage 集群的状态。
Storager集群:实际保存文件 Storage 分为多个组,每个组之间保存的文件是不同的。每 个组内部可以有多个成员,组成员内部保存的内容是一样 的,组成员的地位是一致的,没有 主从的概念。并且扩展容量方便,在Storager后添加卷即可。
2.文件上传过程:
(1)client询问tracker上传到的storage,不需要附加参数;
(2)tracker返回一台可用的storage;
(3)client直接和storage通讯完成文件上传。
3.文件下载过程:
(1)client询问tracker下载文件的storage,参数为文件标识(卷名和文件名);
(2)tracker返回一台可用的storage;
(3)client直接和storage通讯完成文件下载。
4.FastDFS的安装:
准备好依赖包libfastcommon-master.zip跟fastdfs-master.zip安装包
4.1 安装fastdfs依赖包
(1)解压libfastcommon-master.zip
(2)执行./make.sh
(3)执行 sudo ./make.sh install
4.2 安装fastdfs
(1) 解压缩fastdfs-master.zip
(2)进入到 fastdfs-master目录中
(3)执行 ./make.sh
(4)执行 sudo ./make.sh install
4.3 配置跟踪服务器tracker
(1)sudo cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
(2)在/home/python/目录中创建目录 fastdfs/tracker
mkdir –p /home/python/fastdfs/tracker
(3)编辑/etc/fdfs/tracker.conf配置文件 sudo vim /etc/fdfs/tracker.conf
修改 base_path=/home/python/fastdfs/tracker
4.4 配置存储服务器storage
(1)sudo cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
(2)在/home/python/fastdfs/ 目录中创建目录 storage
mkdir –p /home/python/fastdfs/storage
3. 编辑/etc/fdfs/storage.conf配置文件 sudo vim /etc/fdfs/storage.conf
修改内容:
base_path=/home/python/fastdfs/storage
store_path0=/home/python/fastdfs/storage
tracker_server=自己ubuntu虚拟机的ip地址:22122
4.5 启动tracker 和 storage
sudo service fdfs_trackerd start
sudo service fdfs_storaged start
4.6 重启tracker 和 storage
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
4.7 终止
sudo /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
sudo /usr/bin/fdfs_storaged /etc/fdfs/storage.conf stop
4.8 测试是否安装成功
(1)sudo cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
(2)编辑/etc/fdfs/client.conf配置文件 sudo vim /etc/fdfs/client.conf
修改内容:
base_path=/home/python/fastdfs/tracker
tracker_server=自己ubuntu虚拟机的ip地址:22122
(3)上传文件测试:
fdfs_upload_file /etc/fdfs/client.conf 要上传的图片文件
如果返回类似group1/M00/00/00/rBIK6VcaP0aARXXvAAHrUgHEviQ394.jpg的文件id则说明文件上传成功
例: