FastDFS海量資料分布式儲存方案

2021-06-22 15:25:17 字數 4745 閱讀 9106

fastdfs是乙個開源的輕量級

分布式檔案系統

,它對檔案

進行管理,功能

fastdfs官方論壇:

研究了幾天**餘慶大神開發的分布式儲存fastdfs後來個總結方案

方案詳細講解:

tracker1,centos6.3(x64) :192.168.0.10

tracker2,centos6.3(x64) :192.168.0.11

group1, centos6.3(x64); storager1:192.168.0.20   storager2:192.168.0.21  (預留ip192.168.0.22成熟的儲存方案是三份)

group2, centos6.3(x64); storager1:192.168.0.23   

storager2:192.168.0.24  (預留ip192.168.0.25成熟的儲存方案是三份)

group3, centos6.3(x64); storager1:192.168.0.26   

storager2:192.168.0.27  (預留ip192.168.0.28成熟的儲存方案是三份)

tar zxvf fastdfs5.0.1.tar.gz

cd fastdfs5.0.1

sh -x make.sh   ###fastdfs5.0版本後不再依賴libevent庫

sh -x make.sh install

一:tracker伺服器相關配置

1.安裝tracker伺服器需要提供上傳,更新,刪除操作的php,nginx,安裝php,nginx請自行查詢安裝方法,本文不再贅述

安裝fastdfs-php擴充套件

cd ./fastdfs5.0.1/php_client

phpize

./configure

make

make install

安裝完畢

vim fastdfs_client.ini

只需注意一項fastdfs_client.tracker_group0 = /etc/fdfs/client.conf 看下配置檔案位置是否正確

一般預設配置是沒有問題的

cat fastdfs_client.ini >> /usr/local/php/etc/php.ini   ####把配置檔案寫入到php.ini

重啟/etc/init.d/php-fpm restart

測試擴充套件安裝是否成功 php fastdfs_test.php 或phpinfo檢視fastdfs_client擴充套件資訊

若安裝沒有成功最可能出現fastdfs_client.ini 檔案配置不正確,請檢查

2.tracker伺服器配置檔案/etc/fdfs/tracker.conf,可相關詳解

vim /etc/fdfs/tracker.conf

base_path=/home/yuqing/fastdfs ###tracker狀態與log日誌儲存目錄

其它保持預設即可

至此tracker伺服器安裝完畢,php的fastdfs的api使用,可查詢相關資料,也可研究上面的 fastdfs_test.php測試頁面

啟動fastdfs tracker端

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

寫入系統服務,開機自動啟動

echo "/usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf" >> /etc/rc.local

二:storage伺服器相關配置

修改storage配置檔案

vim /etc/fdfs/storage.conf

base_path=/home/yuqing/fastdfs  ###資料與log日誌儲存目錄路徑,可自行修改

store_path_count=1  ##儲存目錄數目,預設是1,如果想做raid可改為2,下面設定增加store_path1的配置

store_path0=/home/yuqing/fastdfs  ###資料儲存目錄路徑,可自行修改,若不填以base_path的值為預設儲存目錄

重點配置,兩台tracker伺服器的,tracker伺服器的埠要開啟,否則連線不成功,會造成storage啟動一直卡住

tracker_server=192.168.0.10:22122

tracker_server=192.168.0.11:22122

其它配置保持預設即可

啟動fastdfs storage端

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

寫入系統服務,開機自動啟動

echo "/usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf

" >> /etc/rc.local

fastdfs-nginx擴充套件安裝有兩方式,

一是在編譯安裝nginx時以新增模組方式安裝,如:

二是先安裝nginx再安裝擴充套件庫

####注意一定要加上之前編譯安裝nginx的擴充套件引數,否則,之前的會沒有了,造成nginx提示模組不存在

make && make install

fastdfs-nginx安裝完畢

複製配置檔案

cp mod_fastdfs.conf  /etc/fdfs/

vim /etc/fdfs/mod_fastdfs.conf

重點配置

group_name=group1   ####組名一定要和當前storage所屬的組名一樣

store_path_count=1   ###儲存數目一定要和當前storage配置一樣

store_path0=/home/yuqing/fastdfs   //儲存路徑一定要和當前storage配置一樣

其它保持預設即可

配置nginx模組

location /m00

重啟nginx

/etc/init.d/nginx restart ####nginx啟動重啟停止指令碼,自行編寫

若重啟不成功檢查相關配置檔案是否有誤

storage配置完畢

三:相關測試

回到tracker伺服器上

vim /etc/fdfs/client.conf

重點配置檔案,若這裡配置有誤,將影響fastdfs的php擴充套件,以及php api的使用

base_path=/home/yuqing/fastdfs  ###和tracker.conf的目錄路徑保持一致

tracker_server=192.168.0.10:22122   ####和storage伺服器的storage.conf保持一致

tracker_server=192.168.0.11:22122

測試上傳檔案:/usr/local/bin/fdfs_upload_file  /etc/fdfs/client.conf /etc/rc/local

刪除檔案:/usr/local/bin/fdfs_delete_file/etc/fdfs/client.confgroup1/moo/00/00/test_1922

也可使用 /usr/local/bin/

fdfs_test /etc/fdfs/client.conf upload /etc/rc.local  ##上傳檔案會顯示更加詳細的上傳後返回的資訊,包括上傳分配的組和stroage資訊

其它相關技術資訊

兩台tracker向外提供上傳更新刪除等操作

利用表單form直接提交到tracker伺服器中的php頁面,上傳更新刪除等操作成功後返回相關資訊

可分擔前端**的壓力,以端對端形式上傳檔案,更省資源,更省時間

三組storage伺服器直接向外提供http服務,上傳後返回的組資訊可存入資料庫中

網域名稱解析方案如:

pic1.test.com 指向group1組的外網ip

pic2.test.com 指向group2組的外網ip

pic3.test.com 指向group3組的外網ip

大型**檔案儲存都是採用定向儲存,定向鏈結.定向訪問的方式達到分布式cdn

/usr/local/bin/fdfs_monitor /etc/fdfs/client.conf delete group1 192.168.0.21   ###手動刪除storage伺服器

/usr/local/bin/fdfs_monitor /etc/fdfs/client.conf    ###檢視tracker伺服器狀態資訊

分布式檔案儲存 FastDFS

7 fastdfs 和其他檔案儲存的簡單對比 寫操作 客戶端先是訪問tracker伺服器,由tracker伺服器幫我們尋找要寫入的卷 volume 一對主從備份為乙個卷,裡面可以有多台伺服器 然後返回可操作的storage server,這時客戶端訪問返回的storage server 進行寫操作 ...

FastDFS分布式檔案儲存

儲存能力是提供給上層業務系統以實現檔案訪問服務,這個儲存能力為xdfs,即可擴充套件的分布式檔案系統,實現的原理是封裝了第三方的分布式儲存系統實現的。目前封裝的第三方分布式系統包括fastdfs hadoop的hdfs,所提供的儲存介面如下 1 檔案上傳 2 檔案斷點上傳 5 檔案刪除 6 獲取檔案...

fastdfs分布式架構設計

clevercode在自己的虛擬機器中準備搭建一下分布式架構。2.1 安裝tracker 安裝詳解參考 2.2 配置tracker a 首次安裝 vi etc fdfs tracker.conf base path data0 fastdfs tracker usr local bin fdfs t...