1. 程式人生 > >FastDFS安裝、配置、部署(一)-安裝和部署

FastDFS安裝、配置、部署(一)-安裝和部署

    FastDFS是一個開源的,高效能的的分散式檔案系統,他主要的功能包括:檔案儲存,同步和訪問,設計基於高可用和負載均衡,FastDFS非常適用於基於檔案服務的站點,例如圖片分享和視訊分享網站

FastDFS有兩個角色:跟蹤服務(tracker)和儲存服務(storage),跟蹤服務控制,排程檔案以負載均衡的方式訪問;儲存服務包括:檔案儲存,檔案同步,提供檔案訪問介面,同時以key value的方式管理檔案的元資料

跟蹤和儲存服務可以由1臺或者多臺伺服器組成,同時可以動態的新增,刪除跟蹤和儲存服務而不會對線上的服務產生影響,在叢集中,tracker服務是對等的

儲存系統由一個或多個卷組成,卷與卷之間的檔案是相互獨立的,所有卷的檔案容量累加就是整個儲存系統中的檔案容量。一個卷可以由一臺或多臺儲存伺服器組成,一個卷下的儲存伺服器中的檔案都是相同的,卷中的多臺儲存伺服器起到了冗餘備份和負載均衡的作用。在卷中增加伺服器時,同步已有的檔案由系統自動完成,同步完成後,系統自動將新增伺服器切換到線上提供服務。當儲存空間不足或即將耗盡時,可以動態添加捲。只需要增加一臺或多臺伺服器,並將它們配置為一個新的卷,這樣就擴大了儲存系統的容量。

一、開始安裝:

1. 在http://code.google.com/p/fastdfs/downloads/list下載所需檔案,此外還需先安裝好libevent。

2. tar xzf FastDFS_v2.11.tar.gz

3. cd FastDFS
如果支援HTTP, vi make.sh,使用/WITH_HTTPD查詢到這一行,輸入i進入編輯模式,刪除掉前面的註釋#,:wq儲存退出,如果需要安裝成服務,則把下面一行也解開。
./make.sh
./make.sh install

4. 準備幾個空閒的埠,可以使用netstat -an | grep 埠號是否被佔用。

5. 根據實際情況修改/etc/fdfs下的配置檔案,每個上面都有註釋說明,如果需要HTTP,別忘了解開最下面的#include http.conf,要帶一個#

6. 啟動tracker: /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

7. 啟動storage: /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf,如果出現錯誤,可以到步驟5修改配置檔案時設定的目錄的log目錄下檢視具體錯誤原因。

8. 到此安裝配置完畢

二、操作使用:在FastDFS安裝目錄bin下有以下可執行檔案。


上傳檔案:/usr/local/bin/fdfs_upload_file  <config_file> <local_filename>

下載檔案:/usr/local/bin/fdfs_download_file <config_file> <file_id> [local_filename]

刪除檔案:/usr/local/bin/fdfs_delete_file <config_file> <file_id>

monitor: /usr/local/bin/fdfs_monitor /etc/fdfs/client.conf

關閉:

killall fdfs_trackerd

killall fdfs_storaged

/usr/local/bin/stop.sh /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/local/bin/stop.sh /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

重啟:

/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf

/usr/local/bin/restart.sh /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

三、測試上傳:

./fdfs_test ../conf/client.conf upload QQ.png,可以看到檔案上傳成功。


在app/fdfs407/data/data/00/3C目錄下可以找到剛剛上傳的圖片:


四、FastDFS上傳/下載過程:

首先客戶端 client 發起對 FastDFS 的檔案傳輸動作,是通過連線到某一臺 Tracker Server 的指定埠來實現的,Tracker Server 根據目前已掌握的資訊,來決定選擇哪一臺 Storage Server ,然後將這個Storage Server 的地址等資訊返回給 client,然後 client 再通過這些資訊連線到這臺 Storage Server,將要上傳的檔案傳送到給 Storage Server上。


上傳過程:


下載過程:


在我的專案中,一般啟動2個tracker和2個storage就可以了,如下所示:

./fdfs_trackerd ../conf/tracker-1.conf
./fdfs_trackerd ../conf/tracker-2.conf
./fdfs_storaged ../conf/storage-g1-1.conf
./fdfs_storaged ../conf/storage-g2-1.conf

下一篇文章再介紹各個如何配置各個conf檔案。