FastDFS常见问题

Q:/fdfs_trackerd:  error  while  loading  shared  libraries:  libevent-1.4.so.2:  cannot  open  shared  object  file:  No  such  file  or  directory

Aexport LD_LIBRARY_PATH=/usr/loal/lib(libevent的安装路径,可以通过find来查找)


QCommand 'ifconfig' is available in '/sbin/ifconfig'

The command could not be located because '/sbin' is not included in the PATH environment variable.

This is most likely caused by the lack of administrative priviledges associated with your user account.

ifconfig: command not found

Aexport PATH=$PATH:/sbin


Q:nginx@ubuntu:~/fastdfs/bak$ ./run_nginx.sh

/home/nginx/nginx/sbin/nginx: error while loading shared libraries: libfastcommon.so: cannot open shared object file: No such file or directory

A:找不到fastdfs的库文件,因为前面执行了 export LD_LIBRARY_PATH=/usr/loal/lib,所以 为了使得使用方便,就把所有需要用到的LIB放在一起:

cp libf*.so /usr/local/lib

ls -l /usr/local/lib/libf* 如果没有链接映射,就需要自己做一个或者把四个文件全部拷过去

sudo ln -sf /home/nginx/fastdfs/lib/libfastcommon.so.1 /usr/local/lib/libfastcommon.so

sudo ln -sf /home/nginx/fastdfs/lib/libfdfsclient.so.1 /usr/local/lib/libfdfsclient.so

注意:做软链接的时候需要加绝对路径,不然会出现黑色的提示。


Q400 badrequest

[2011-12-12 15:24:21] ERROR - file: /tmp/fastdfs-nginx-module/src/common.c, line: 561, logic file: M00/00/00/wKgBNU7lqyjzJZ4mAA4CRXl5SCQ670.jpg not exists

2011/12/12 15:24:21 [error] 14147#0: *1 open() "/home/nginx/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.1.123, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.1.53:8090"

A:修改/fastdfs/conf/mod_fastdfs.conf

里面url_have_group_name = true


Q[2011-12-12 17:11:44] ERROR - file: /tmp/fastdfs-nginx-module/src/common.c, line: 561, logic file: M00/00/00/wKgBNU7lqyjzJZ4mAA4CRXl5SCQ670.jpg not exists

Q404错误

nginx-erro:

2011/12/12 17:18:03 [error] 16640#0: *27 open() "/home/nginx/nginx/html/M00/00/00/wKgBNU7lqyjzJZ4mAA4CRXl5SCQ670.jpg" failed (2: No such file or directory), client: 192.168.1.123, server: localhost, request: "GET /M00/00/00/wKgBNU7lqyjzJZ4mAA4CRXl5SCQ670.jpg HTTP/1.1", host: "192.168.1.53:8090"

mod-fastdfs.log

2011-12-12 17:26:30] ERROR - file: storage_client.c, line: 1966, filename is too short, length: 40 < 44

A:老版本的一个bug,下载最近的无此类错误。



Q: 在tracker的日志里报出此类错误

ERROR - file: tracker_mem.c, line: 1406, the format of the file "/home/bstar/dfs_data/data/storage_sync_timestamp.dat" is invalid, group: group3, row count:1 > server count:0

A:修改data里面的 storage_sync_timestamp.dat,把group3的信息删掉,然后重启tracker



Q:在启动tracker的时候出现此类错误:

ERROR - file: ../common/fdfs_http_shared.c, line: 128, param "http.mime_types_filename" not exist or is empty

A:修改tracker.conf里面,把##include http.conf 改为#include http.conf ,再重启



QERROR - file: tracker_http_check.c, line: 132, http check alive, connect to http server 192.168.1.53:8888 fail, errno: 111, error info: Connection refused

A:端口不对。要配置storagenginx端口一致/


QERROR - file: /home/nginx/install/fastdfs-nginx-module/src/common.c, line: 561, logic file: M00/00/00/wKgBNU7wRbrcAYGuAALOPrGJ7YQ668.jpg not exists

A:apachenginx扩展模块版本v1.06及以上版本,需要在配置文件/etc/fdfs/fastdfs_mod.conf中设置storage server的存储路径信息。
一个示例如下所示:
store_path_count=1
store_path0=/home/yuqing/fastdfs
store_path_count
store_path#均需要正确设置,必须和storage.conf中的相应配置完全一致


Q: DEBUG - file: tracker_proto.c, line: 48, server: 192.168.1.51:22122, response status 28 != 0

 

tracker_query_storage fail, error no: 28, error info: No space left on device

A:空间不足


Q:EBUG - file: storage_disk_recovery.c, line: 699, disk recovery: begin recovery data path: /home/nginx/fastdfs ...

A:这个是数据迁移后的问题,这个需要之前配置的sub_dir的数目前后保持一致。



1. 启动FastDFS的tracker和storage服务后,通过fdfs_monitor命令查看tracker和storage的通信状态,发现storage的状态始终为offline,怎么办?

答:先查看tracker和storage的日志,确认服务是否有问题;如果日志显示正常,则有可能是在操作过程中,删除了tracker或storage某一方的缓存文件,导致缓存不匹配。此时,先关闭tracker和storage服务,删除tracker.conf和storage.conf中指定的base_path目录下的data文件,再重启服务即可。

注意:如果删除了FastDHT 的base_path目录下的文件,切片集信息将全部丢失。

 

2.分布式切图时,控制台为什么会提示“No buffer space available (maximum connections reached?):connect”?

38error.png

答:分布式切图过程中,向 FastDFS 存储上传切片时,占用的端口数增多,可能会达到本地操作系统的端口数的上限,所以出现上述问题。可通过如下方式规避:

  • Windows 系统

运行 “regedit.exe”,打开注册表,找到 “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters”位置,添加“TcpTimedWaitDelay”,类型为DWORD,值为30;添加“MaxUserPort”,类型为DWORD,值为20000(调大系统可用端口数)。

  • Linux 系统

运行 “vi /etc/sysctl.conf”,编辑文件,加入以下内容:

net.ipv4.tcp_syncookies  = 1

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle =  1

net.ipv4.tcp_fin_timeout = 30

然后执行“/sbin/sysctl -p”让参数生效即可。

 

3.安装 FastDFS 和 FastDHT 后,为什么在 /usr/local/bin 目录下找不到 fdfs_trackerd、fdfs_storaged 和 fdhtd 这3个命令?

答:出现此问题的原因,是由于系统的 libevent 版本太低导致FastDFS 编译失败。请检查libevent版本是否为1.4.x 或以上。

 

4.启动fastDHT服务的时候,提示“段错误”,是什么原因?

答:这是因为 fdhtd 需要的依赖 libdb-5.3.so 没有正确安装或被指向链接。可以使用命令ldd /usr/local/bin/fdhtd 查看 fdhtd 命令的依赖项,如果显示的 libdb 依赖不是5.3版本,请首先确认安装db时,是否指定了安装路径为 /usr 目录。如果是安装在 /usr 路径下的,但仍然没有正确依赖 libdb.5.3.so,则需要手动在 /lib64 目录下创建 libdb.so 的符号链接,指向 BDB 5.3 的动态库。

 

5.FastDFS和FastDHT服务正常,但是添加切图任务失败,查看debug版的iserver.log,日志显示“向FastDFS 的 storageServer 上传数据tileset_names时,发生MyException ,异常信息是:getStoreStorage fail, errno code: 28”,这是什么原因?

答:错误代码28表示 No space left on device。FastDFS可在tracker.conf配置文件中设置 reserved_storage_sapce 参数,即storage 的预留存储空间大小,默认为10%。如果预留空间小于该设置值,将出现28错误。


1. FastDFS适用的场景以及不适用的场景?

FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片、视频、文档等文件。对于互联网应用,和其他分布式文件系统相比,优势非常明显。FastDFS没有对文件做分块存储,因此不太适合分布式计算场景。

2. FastDFS需要的编译和运行环境是怎样的?

FastDFS Server仅支持unix系统,在Linux和FreeBSD测试通过。在Solaris系统下网络通信方面有些问题。编译需要的其他库文件有pthread和libevent。pthread使用系统自带的即可。对libevent的版本要求为1.4.x,建议使用最新的stable版本,如1.4.14b。注意,千万不要使用libevent 2.0 stable以前的版本。

3. 启动storage server时,一直处于僵死状态。

启动storage server,storage将连接tracker server,如果连不上,将一直重试。直到连接成功,启动才算真正完成。

出现这样情况,请检查连接不上tracker server的原因。

友情提示:从V2.03以后,多tracker server在启动时会做时间上的检测,判断是否需要从别的tracker server同步4个系统文件。

触发时机是第一个storage server连接上tracker server后,并发起join请求。

如果集群中有2台tracker server,而其中一台tracker没有启动,可能会导致storage server一直处于僵死状态。

4. 执行fdfs_test或fdfs_test1上传文件时,服务器返回错误号2

错误号2表示没有ACTIVE状态的storage server。可以执行fdfs_monitor查看服务器状态。

5. 如何删除无效的storage server?

可以使用fdfs_monitor来删除。命令行如下:

/usr/local/bin/fdfs_monitor delete

例如:

/usr/local/bin/fdfs_monitor /etc/fdfs/client.conf delete group1 192.168.0.100

注意:如果被删除的storage server的状态是ACTIVE,也就是该storage server还在线上服务的情况下,是无法删除掉的。

6. nginx和apache扩展模块与FastDFS server版本对应关系

扩展模块1.05: 针对FastDFs server v2.x,要求server版本大于等于v2.09

扩展模块1.07及以上版本: 针对FastDFs server v3.x

7. 上传文件失败,返回错误码28,这是怎么回事?

返回错误码28,表示磁盘空间不足。注意FastDFS中有预留空间的概念,在tracker.conf中设置,配置项为:reserved_storage_space,缺省值为4GB,即预留4GB的空间。请酌情设置reserved_storage_space这个参数,比如可以设置为磁盘总空间的20%左右。

8. nginx扩展模块,不能正常显示图片的问题

在配置文件/etc/fdfs/mod_fastdfs.conf中,缺省的设置是这样的:http.need_find_content_type=false这个参数在nginx中需要设置为true,apache中应该设置为false




转载请注明文章转自:良玉的博客 [http://blog.uouo123.com]


  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

向良玉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值