fastdfs集羣的安裝

FastDFS 是一個開源的分佈式文件系統,它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件爲載體的在線服 務,如相冊網站、視頻網站等等。 

FastDFS 服務端有兩個角色:跟蹤器(tracker)和存儲節點(storage)。跟蹤器主要做調度工作,在訪問上起負載均衡的作用。存儲節點存儲文件,完成文件管理的所有功能:存儲、同步和提供存取接口,FastDFS 同時對文件的 meta data 進行管理。所謂文件的 meta data 就是文件的相關屬性,以鍵值對(keyvalue pair)方式表示,如:

idth=1024,其中的 key 爲 width,value 爲 1024。文件 meta data 是文件屬性列表,可以包含多個鍵值對。FastDFS 系統結構如下圖所示:

跟蹤器和存儲節點都可以由一臺多臺服務器構成。跟蹤器和存儲節點中的服務器均可以隨時增加或下 線而不會影響線上服務。其中跟蹤器中的所有服務器都是對等的,可以根據服務器的壓力情況隨時增加或 減少。爲了支持大容量,存儲節點(服務器)採用了分卷(或分組)的組織方式。存儲系統由一個或多個卷組成,卷與卷之間的文件是相互獨立的,所有卷的文件容量累加就是整個存儲系統中的文件容量。一個卷 可以由一臺或多臺存儲服務器組成,一個卷下的存儲服務器中的文件都是相同的,卷中的多臺存儲服務器 起到了冗餘備份和負載均衡的作用。在卷中增加服務器時,同步已有的文件由系統自動完成,同步完成後, 系統自動將新增服務器切換到線上提供服務。當存儲空間不足或即將耗盡時,可以動態添加捲。只需要增 加一臺或多臺服務器,並將它們配置爲一個新的卷,這樣就擴大了存儲系統的容量。FastDFS 中的文件標識 分爲兩個部分:卷名和文件名,二者缺一不可。

 

FastDFS 上傳文件交互過程:

 

跟蹤器和存儲節點都可以由一臺多臺服務器構成。跟蹤器和存儲節點中的服務器均可以隨時增加或下 線而不會影響線上服務。其中跟蹤器中的所有服務器都是對等的,可以根據服務器的壓力情況隨時增加或 減少。爲了支持大容量,存儲節點(服務器)採用了分卷(或分組)的組織方式。存儲系統由一個或多個卷組成,卷與卷之間的文件是相互獨立的,所有卷的文件容量累加就是整個存儲系統中的文件容量。一個卷 可以由一臺或多臺存儲服務器組成,一個卷下的存儲服務器中的文件都是相同的,卷中的多臺存儲服務器 起到了冗餘備份和負載均衡的作用。在卷中增加服務器時,同步已有的文件由系統自動完成,同步完成後, 系統自動將新增服務器切換到線上提供服務。當存儲空間不足或即將耗盡時,可以動態添加捲。只需要增 加一臺或多臺服務器,並將它們配置爲一個新的卷,這樣就擴大了存儲系統的容量。FastDFS 中的文件標識 分爲兩個部分:卷名和文件名,二者缺一不可。

 

FastDFS 上傳文件交互過程:

 

1. client 詢問 tracker 上傳到的 storage,不需要附加參數;

 2. tracker 返回一臺可用的 storage;

 3. client 直接和 storage 通訊完成文件上傳。

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

FastDFS 下載文件交互過程:

 

1. client 詢問 tracker 下載文件的 storage,參數爲文件標識(卷名和文件名); 

2. tracker 返回一臺可用的 storage;

3. client 直接和 storage 通訊完成文件下載。

FastDFS 集羣規劃: 

跟蹤服務器 1:192.168.1.81edu-dfs-tracker-1

跟蹤服務器 2:192.168.1.82edu-dfs-tracker-2

存儲服務器 1:192.168.1.83edu-dfs-storage-group1-1

存儲服務器 2:192.168.1.84edu-dfs-storage-group1-2

存儲服務器 3:192.168.1.85edu-dfs-storage-group2-1

存儲服務器 4:192.168.1.186edu-dfs-storage-group2-2

環境:CentOS 6.6

用戶:root

數據目錄:/fastdfs (注:數據目錄按你的數據盤掛載路徑而定)

 FastDFS v5.05

 libfastcommon-master.zip(是從 FastDFS 和 FastDHT 中提取出來的公共 C 函數庫) 

fastdfs-nginx-module_v1.16.tar.gz

 nginx-1.6.2.tar.gz fastdfs_client_java._v1.25.tar.gz

 源碼地址:https://github.com/happyfish100/

 下載地址:http://sourceforge.net/projects/fastdfs/files/

 官方論壇:http://bbs.chinaunix.net/forum-240-1.html

一、FastDFS 的安裝(所有跟蹤服務器和存儲服務器均執行如下操作)

 1、編譯和安裝所需的依賴包:

 # yum install make cmake gcc gcc-c++ 

2、安裝 libfastcommon (https://github.com/happyfish100/libfastcommon

 (1)上傳或下載 libfastcommon-master.zip 到/usr/local/src 目錄,解壓

 

 

(3) 編譯、安裝 

libfastcommon 默認安裝到了 

/usr/lib64/libfastcommon.so 

/usr/lib64/libfdfsclient.so 

(4)因爲 FastDFS 主程序設置的 lib 目錄是/usr/local/lib,所以需要創建軟鏈接. 

3、安裝 FastDFS (https://github.com/happyfish100/fastdfs/releases) 

(1)上傳或下載 FastDFS 源碼包(FastDFS_v5.05.tar.gz)到 /usr/local/src 目錄,解壓 

# cd /usr/local/src/ 

# tar -zxvf FastDFS_v5.05.tar.gz 

# cd FastDFS

(3)編譯、安裝(編譯前要確保已經成功安裝了 libfastcommon) 

# ./make.sh 

# ./make.sh install 

採用默認安裝的方式安裝,安裝後的相應文件與目錄: 

A、服務腳本在: 

/etc/init.d/fdfs_storaged /etc/init.d/fdfs_tracker 

B、配置文件在(樣例配置文件): 

/etc/fdfs/client.conf.sample 

/etc/fdfs/storage.conf.sample 

/etc/fdfs/tracker.conf.sample 

C、命令工具在/usr/bin/目錄下的: 

fdfs_appender_test fdfs_appender_test1 fdfs_append_file 

fdfs_crc32 fdfs_delete_file fdfs_download_file fdfs_file_info fdfs_monitor fdfs_storaged fdfs_test fdfs_test1 fdfs_trackerd

 fdfs_upload_appender fdfs_upload_file stop.sh restart.sh

 

(4)因爲 FastDFS 服務腳本設置的 bin 目錄是/usr/local/bin,但實際命令安裝在/usr/bin,可以進入 

/user/bin 目錄使用以下命令查看 fdfs 的相關命令: 

# cd /usr/bin/ 

# ls | grep fdfs

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章