安装FastDFS前,需要安装libfastcommon,安装动态库。
下载源码包之后需要进入目录中,如果有readme就看看里面流程。
有configure就运行它,或者先 ./make.sh ,然后再sudo ./make.sh install
可执行程序默认会安装到/usr/bin中
安装成功后,自动在/etc/fdfs中添加三个配置文件:client.conf.sample
storage.conf.sample
tracker.conf.sample
配置FastDFS
对于fastdfs来说,有三个部分:client客户端,tracker(追踪器:负责记录收集storage的信息),storage(负责存储的节点)
利用tracker 来负责负载均衡。
配置时主要设置一下tracker运行时bind的服务器ip,写日志的地址!
分别写client,trackker,storage等的配置文件(用于启动时)。
启动时:
fdfs_storaged /etc/fdfs/storage.conf
fdfs_trackerd /etc/fdfs/tracker.conf
使用 ps -aux | grep fdfs 来查看是否启动成功
测试是否成功工作
利用client:
上传:
先启动client: fdfs_monitor /etc/fdfs/client.conf (查看结果,节点信息中有ip_addr = 172.17.180.8 ACTIVE 就说没成功了)
上传文件:fdfs_upload_file /etc/fdfs/client.conf test.txt (依序是程序,配置文件,上传的文件)
成功后,返回:group1/M00/00/00/rBG0CF6pCtKALmx5AAAAHiY0ZYc529.txt
分别是:——— group1:组名, M00:虚拟磁盘路径 ,00/00 二级目录,rBG0CF6pCtKALmx5AAAAHiY0ZYc529.txt: 文件名(base64编码
下载:
fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/rBG0CF6pCtKALmx5AAAAHiY0ZYc529.txt
删除
fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/rBG0CF6pCtKALmx5AAAAHiY0ZYc529.txt
【总结一下遇见的问题】
-
当make出现报错:make: Nothing to be done for `all’时,说明已经编译过了。
-
测试log日志实现文件时:出现错误:undefined reference to xxx,解决方式:这是因为在链接时候找不到了某个函数的实现文件,有依赖性。所以:
-
gcc -o test test.c make_log.c
是最终的test需要test.c和后面的那一个文件。 打印出来的东西进入文件中。 -
在宏定义中,可以用 “ \ "来表示换行,贴合下一行开头:用于#define x y 后面的y可能一行装不下。