• FastDFS 常见问题


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

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

    Q:Command '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

    A:export 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

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

    Q:400 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: 在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 ,再重启

    Q:ERROR - 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:端口不对。要配置storage和nginx端口一致/

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

    A:apache和nginx扩展模块版本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的数目前后保持一致。

    Q:启动storage server时,一直处于僵死状态。
    启动storage server,storage将连接tracker server,如果连不上,将一直重试。直到连接成功,启动才算真正完成。
    出现这样情况,请检查连接不上tracker server的原因。

    A:从V2.03以后,多tracker server在启动时会做时间上的检测,判断是否需要从别的tracker server同步4个系统文件。
    触发时机是第一个storage server连接上tracker server后,并发起join请求。
    如果集群中有2台tracker server,而其中一台tracker没有启动,可能会导致storage server一直处于僵死状态。

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

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

    Q:如何删除无效的storage server?

    A:可以使用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还在线上服务的情况下,是无法删除掉的。

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

    A:扩展模块1.05: 针对FastDFs server v2.x,要求server版本大于等于v2.09
    扩展模块1.07及以上版本: 针对FastDFs server v3.x

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

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

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

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

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

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

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

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

    运行 “regedit.exe”,打开注册表,找到 “HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParameters”位置,添加“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”让参数生效即可。

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

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

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

    A:这是因为 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 的动态库。

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

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

    --------------------------------------------------------------------

  • 相关阅读:
    iOS- Swift:使用FMDB进行数据库操作(线程安全:增删改查)
    iOS- Swift:如何使用iOS8中的UIAlertController
    iOS- Swift和Object-C的混合编程
    iOS- 再谈ARC里内存问题,ARC里数组、对象内存得不到释放?
    iOS- 如何建立索引实现本地文本搜索引擎,允许容错搜索?
    iOS- 全方位解析.crash文件崩溃报告
    iOS- 关于AVAudioSession的使用——后台播放音乐
    iOS- Autolayout自动布局
    iOS- 详解如何使用ZBarSDK集成扫描二维码/条形码,点我!
    419. Roman to Integer【medium】
  • 原文地址:https://www.cnblogs.com/djoker/p/8461683.html
Copyright © 2020-2023  润新知