開源的,高性能的分佈式文件系統
今天我們採用三臺機器來做實驗,如圖,一臺nginx用來作爲負載均衡(反向代理),一臺tracker用來進行工作任務的調度等工作,說白了就是分派給哪臺後端的storage來存儲數據。
實驗環境就沒做這麼多安全設置
材料均來自這些軟件的官網
首先,我們來安裝nginx這個負載均衡服務器
安裝超級簡單,我們不需要過多的功能,故configure的時候默認設置
這個也很簡單,加載另外一個路徑上的文件
163.63爲後端服務器的地址,稍後會配置這臺服務器的web服務。
location /M00代表在url中遇到M00的時候進行負載均衡(反向代理)。這裏就不多解釋,自行學習nginx。
這裏nginx負載均衡(反向代理)就完成了。
接着我們來進行tracker服務器的安裝。首先要安裝tracker需要的lib文件,否則安裝tracker的時候會報缺少lib的錯誤。
安裝tracker的lib庫
只需要修改配置文件中base_path和store_group
base_path:日誌存放的路徑
store_group:存儲的組名
修改客戶端的配置文件
啓動tarcker服務(需要先啓動,不然storage連不上)
目前爲止,tracker也搞好了,so easy吧。咱們繼續配置group1中的第一臺storage
同理,也需要先安裝tracker所需的lib庫
安裝過程也是和tracker一模一樣
所使用的配置文件不一樣
關鍵在於store_path0,文件存放的路徑在哪裏。如果有多個路徑就加store_path1、store_path2。。。。這樣子。同時還得修改store_path_count,與你的存儲路徑數需要一致。
啓動後可以看到23000端口,並且查看到storage的狀態爲活動
在tracker服務器上執行文件上傳
記錄好上傳後的信息group1/M00/00/00/wKijP1wZ8DmARX93AAC7qq_Tjik856.jpg
上傳顯示成功了,可是我怎麼能訪問得到這個圖片呢?
使用nginx來做web服務。
這裏的nginx加載了fastdfs模塊,使nginx支持fastdfs
在[group1]中,已經告訴了nginx需要從哪裏加載保存的文件,注意需要與storage.conf中的存儲數量與路徑一致
這裏還有個特別的地方就是,url_have_group_name,也就是在url中是否加載組名,如果true則我們的負載均衡(61)和storage(63)中的nginx的location段需要正則表達式到/group1/M00。這裏我們沒改,使用默認的false,故你可以看到爲啥之前的負載均衡(61)設置的是/M00了。
雖然這裏其實已經配置完成了,可是啓動nginx後發現報錯了。
include file "http.conf" not exists
找到了http.conf文件並拷貝至/etc/fdfs裏
nginx reload後還是報錯了
file /etc/fdfs/mime.types
同理,我們也拷貝到/etc/fdfs裏
重新reload一下nginx
試試直接訪問163.63吧
成功訪問
我們從負載均衡上面訪問一下試試
同樣訪問成功
後續筆者還會繼續進行擴展,例如爲group1添加新成員,新增group2,新增tracker,刪除group中的成員等等擴展。
請各位繼續關注。