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...