分佈式文件系統Fastdfs 詳細安裝筆記

    簡介nginx

        FastDFS是一款類Google FS的開源分佈式文件系統,它用純C語言實現,支持LinuxFreeBSDAIXUNIX系統。它只能經過專有API對文件進行存取訪問,不支持POSIX接口方式,不能mount使用。準確地講,Google FS以及FastDFSmogileFSHDFSTFS等類Google FS都不是系統級的分佈式文件系統,而是應用級的分佈式文件存儲服務。c++


在安裝以前,咱們須要先區分一下角色git

Track 理解爲調度器就好了,提供上傳功能github

Storage 提供存儲功能web

他們最起碼須要一臺,咱們這裏作實驗就各使用兩臺作測試vim

 

一、環境app

操做系統 Centos 7.0 X64最小化安裝tcp

 

Track1 :192.168.121.131分佈式

Track2 :192.168.121.132ide

 

Storage1 :192.168.121.133

Storage1 :192.168.121.134

 

FastDFS 下載地址

https://sourceforge.net/projects/fastdfs/files/?source=navbar

 

二、Track上安裝fastdfs

 

首先,安裝依賴包

 yum install -y gcc-c++ wget unzip perl pcre-devel zlib-devel

 

 

192.168.121.131

下載代碼包

wget http://jaist.dl.sourceforge.net/project/fastdfs/FastDFS%20Server%20Source%20Code/FastDFS%20Server%20with%20PHP%20Extension%20Source%20Code%20V5.08/FastDFS_v5.08.tar.gz

解壓後咱們查看INSTALL文件,上面寫了安裝步驟

wKioL1blXi-SVM0fAABQQTMUV_g403.png 

 

如圖,要安裝FastDFS咱們要先安裝libfastcommon

 

因此下載安裝libfastcommon

wget https://codeload.github.com/happyfish100/libfastcommon/zip/master

unzip master && cd libfastcommon-maste

./make.sh  && ./make.sh install 

 

再回到FaastDFS安裝包,執行安裝

 cd ../FastDFS/

./make.sh && ./make.sh install

 

安裝完成

而後在192.168.121.132 133  134上面執行一樣操做

 

 

三、配置Track

修改tracker.conf 文件

cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf

mkdir /data/fastdfs

#配置datalog的存放路徑

 

vim /etc/fdfs/tracker.conf

修改 base_path=/home/yuqing/fastdfs

base_path=/data/fastdfs

 

修改client.conf

 

cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf

#設置參數

vim /etc/fdfs/client.conf

base_path=/data/fastdfs

tracker_server=192.168.121.131:22122

tracker_server=192.168.121.132:22122

http.tracker_server_port=80

 

啓動服務

/etc/init.d/fdfs_trackerd start

 

打開防火牆

firewall-cmd --add-port=22122/tcp

 

查看狀態

fdfs_monitor /etc/fdfs/client.conf

 

四、配置Storage

cp /root/FastDFS/conf/http.conf /etc/fdfs/

cp /root/FastDFS/conf/mime.types /etc/fdfs/

cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf

vim /etc/fdfs/storage.conf

#修改base路徑

base_path=/data/fastdfs

#修改存儲路徑

store_path0=/data/fastdfs

#設置track IP

tracker_server=192.168.121.131:22122

tracker_server=192.168.121.132:22122

#修改web端口

http.server_port=80

 

啓動服務

/etc/init.d/fdfs_storaged start

添加防火牆

firewall-cmd --add-port=23000/tcp

 

 

配置nginx並安裝模塊

wget http://nginx.org/download/nginx-1.8.1.tar.gz

wget http://nchc.dl.sourceforge.net/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz

 

 

 

 

拷貝配置文件

cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/

 

編譯安裝nginx

./configure --prefix=/usr/local/nginx --add-module=../fastdfs-nginx-module/src/

 

這步會報錯

wKioL1blXkWB40UNAABqA3J3eQI148.png 

 

解決辦法是修改fastdfs模塊引用fastdfs的路徑

由於Fastdfsprefix /usr

這裏引用的是/usr/local 

 

vim ../fastdfs-nginx-module/src/config

#去掉local

CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"

 

而後從新編譯安裝就能過了

 make clean

./configure --prefix=/usr/local/nginx --add-module=../fastdfs-nginx-module/src/

Make && make install

 

修改模塊配置文件

vim /etc/fdfs/mod_fastdfs.conf

#日誌路徑

base_path=/data/log

tracker_server=192.168.121.130:22122

tracker_server=192.168.121.131:22122

#存儲路徑

store_path0=/data/fastdfs

url_have_group_name = true

修改nginx配置

vim /usr/local/nginx/conf/nginx.conf

location /group1/M00 {

            root   /data/fastdfs/data;

            ngx_fastdfs_module;

        }

 

啓動nginx

 /usr/local/nginx/sbin/nginx -s

開防火牆

firewall-cmd --add-port=23000/tcp

 

查看fastdfs狀態

fdfs_monitor /etc/fdfs/storage.conf

wKiom1bmaK7ik9WpAABXX6sx-9s277.png 

 

狀態爲ACTIVE是正常

 

啓動成功

 

 

 

五、測試上傳

Track1Track2來上傳都是能夠的

這裏用Track1

 

fdfs_test /etc/fdfs/client.conf upload /tmp/30adcbef76094b360fade2f0a5cc7cd98d109df4.jpg

wKioL1blXoTR4d_cAABw9F-UYeQ801.png 

上傳成功,得到一個圖片地址

圖片實際保存路徑爲

/data/fastdfs/data/00/00/wKh5hFblTomANCAAAADD0tsLWr8597.jpg

訪問圖片測試

 

wKioL1blXqGBi6TiAAHtzO5aErw855.png 

正常訪問

再訪問另外一臺Storage

wKioL1blXw3QcK3OAAHsbrbH_dg766.png

訪問正常,實驗完成


因爲有兩臺StorageTrack,任何一臺s掛掉都是有備份的

Trackstoage能夠用keepalive來作高可用實現故障轉移 這裏就很少說了。

相關文章
相關標籤/搜索