上传文件失败,返回错误码28。
返回错误码28,表示磁盘空间不足。注意FastDFS中有预留空间的概念,在tracker.conf中设置,配置项为:reserved_storage_space,缺省值为4GB,即预留4GB的空间。
请酌情设置reserved_storage_space这个参数,比如可以设置为磁盘总空间的20%左右。fdfs_trackerd或者fdfs_storaged的日志中出现:malloc task buff failed字样的错误。
出现此类信息表示已经达到最大连接数。server端支持的最大连接数可以通过max_connections这个参数来设置。出现这样的问题,需要排查一下是否客户端使用不当导致的,比如客户端没有及时关闭无用的连接。客户端连接为什么被踢掉了?
tracker server或storage server出现类似错误:1
[2017-08-21 15:47:24] ERROR - file: tracker_nio.c, line: 213, client ip: 192.168.1.168, recv timeout, recv offset: 0, expect length: 0
表示客户端和sever建立连接后没有发送任何请求,idle时间超过network timeout该连接就会被踢掉。
双 tracker 环境,其中一台宕机后,客户端依然会再次检查坏 tracker 是否可用,不可用换下一个问题?
- 个人觉得这样的故障转移不彻底,可用考虑在业务层通过连接池方式解决(加tracker心跳)
- 将双 tracker 通过 Keepalive 做 HA,使用 vip 提供服务
- 如果是云环境,建议在双tracke之前加一个LB,业务层使用云厂商提供的LB的域名或者IP方式连接。
fadfs_monitor 命令查看集群状态,storage 状态始终处于 OFFLINE 状态?
- 查看日志确保 fdfs_trackerd 和 fdfs_storaged 服务正常运行
- 如果日志正常依然 OFFLINE,可用临时关闭 fdfs_trackerd 和 fdfs_storaged 服务,删除 base_path 的元数据和日志,重新启动相关服务
是否可用通过 http 方式上传文件?
请参考 https://github.com/gzldx/lua-upload在编译 fastdfs-nginx-module 扩展时,提示编译错误
1
2make[1]: *** [objs/addon/src/ngx_http_fastdfs_module.o] 错误 1 make[1]: Leaving directory `/root/nginx-1.4.1'
make: *** [install] 错误 2尝试将 libfastcommon 和 fastdfs-5.05 重新编译安装即可