fastdfs安裝報錯

sh make.sh後報errorhtml

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o ../common/fdfs_global.o ../common/fdfs_global.c  -I../common -I/usr/include/fastcommon ../common/fdfs_global.c:20:20: fatal error: logger.h: No such file or directory #include "logger.h"                    ^ compilation terminated.nginx

make: *** [../common/fdfs_global.o] Error 1apache

緣由是沒有安裝libevent,4版本前用libevent,5直接安裝libfastcommon便可。ubuntu


附:CentOS FastDFS配置之常見錯誤 – |REKFAN|系統運維| 緩存

地址:http://blog.rekfan.com/articles/442.html 服務器


FastDFS 常見問題cookie

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 foundtcp

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錯誤。

相關文章
相關標籤/搜索