閱讀515 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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

摘要: FastDFS是一個開源的,高性能的的分布式文件係統,他主要的功能包括:文件存儲,同步和訪問,設計基於高可用和負載均衡,FastDFS非常適用於基於文件服務的站點,例如圖片分享和視頻分享網站

聲明:對於分布式的一些技術點在網上都可以查到,這邊對於一些基本的操作做了些相關的總結,並作為分布式框架技術的支持文檔,希望可以幫助到大家

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

FastDFS有兩個角色:跟蹤服務(tracker)和存儲服務(storage),跟蹤服務控製,調度文件以負載均衡的方式訪問;存儲服務包括:文件存儲,文件同步,提供文件訪問接口,同時以key value的方式管理文件的元數據

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

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

一、開始安裝:

1. 在https://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

 

聲明:所有博客服務於分布式框架,作為框架的技術支持及說明,框架麵向企業,是大型互聯網分布式企業架構,後期會介紹linux上部署高可用集群項目。

願意了解框架技術或者源碼的朋友直接加求求(企鵝):2042849237

最後更新:2017-07-15 20:33:57

  上一篇:go  J2EE分布式架構 dubbo+springmvc+mybatis+ehcache+redis分布式架構
  下一篇:go  螞蟻金服漆遠:人工智能是如何重新定義金融行業的?