FasterDFS分佈式文件系統(實例!!!)

FasterDFS概述

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

​ FastDFS爲互聯網量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務器集羣提供文件上傳、下載等服務。

​ FastDFS服務端有兩個角色:跟蹤器(tracker)和存儲節點(storage)。跟蹤器主要做調度工作,在訪問上起負載均衡的作用。

​ 跟蹤器和存儲節點都可以由一臺或多臺服務器構成。跟蹤器和存儲節點中的服務器均可以隨時增加或下線而不會影響線上服務。其中跟蹤器中的所有服務器都是對等的,可以根據服務器的壓力情況隨時增加或減少。在卷中增加服務器時,同步已有的文件由系統自動完成,同步完成後,系統自動將新增服務器切換到線上提供服務。

在這裏插入圖片描述

實驗環境

服務器角色 IP地址
tracker 192.168.45.135
storage+nginx 192.168.45.132

第一步:安裝libfastcommon服務(所有節點均進行安裝)

1.安裝基礎環境包

yum -y install libevent  libevent-devel perl  make gcc zlib  zlib-devel pcre pcre-devel  gcc-c++  openssl-devel

2.安裝libfastcommon

wget https://github.com/happyfish100/libfastcommon/archive/V1.0.38.tar.gz
 tar zxf V1.0.38.tar.gz -C /opt/
cd /opt/libfastcommon-1.0.38/

3.編譯安裝

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

4.建立軟鏈接方便系統識別

ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

第二步:安裝FastDFS服務(所有節點均進行安裝)

1.下載安裝fastDFS

wget https://github.com/happyfish100/fastdfs/archive/V5.11.tar.gz
 tar zxf V5.11.tar.gz -C /opt/
cd /opt/fastdfs-5.11/

2.編譯安裝

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

3.複製模板文件進行修改

#切換配置文件模板路徑
cd /etc/fdfs/             
cp tracker.conf.sample tracker.conf
cp storage.conf.sample storage.conf
cp client.conf.sample client.conf

第三步:配置tracker監控端

1.建立數據文件、日誌文件存放目錄

 mkdir -m 755 -p /opt/fastdfs

2.修改tracker配置文件

vim /etc/fdfs/tracker.conf
#修改以下配置
port=22122         
#tracker服務默認端口22122即可

base_path=/opt/fastdfs      
#tracker存儲data和log的跟路徑,必須提前創建好

http.server_port=8080 
#tracker服務器上啓動http服務進程

3.開啓服務並設置開機自啓

#開啓服務(命令支持start|stop|restart)
fdfs_trackerd /etc/fdfs/tracker.conf start
netstat -atnp | grep 22122


#設置開機自啓
vim  /etc/rc.local
 
#末行添加
fdfs_trackerd   /etc/fdfs/tracker.conf start 

#關閉防火牆和安全功能
systemctl stop firewalld
setenforce 0

第四步:配置storage服務端

1.建立數據文件、日誌文件存放目錄

mkdir -m 755 -p /opt/fastdfs

2.修改storage配置文件

vim /etc/fdfs/storage.conf

group_name=group1        
#默認組名,根據實際情況修改

port=23000       
#storge默認23000,同一個組的storage端口號必須一致

base_path=/opt/fastdfs          
#storage日誌文件的根路徑

store_path_count=1              
#與下面路徑個數相同,默認爲1

store_path0=/opt/fastdfs       
#提供的存儲路徑(默認與日誌文件存放在一起)

tracker_server=192.168.45.135:22122      
#tracker服務器IP

http.server_port=80            
#http訪問文件的端口默認爲8888,nginx中配置的監聽端口保持一致

3.開啓服務並設置開機自啓

#開啓服務(命令支持start|stop|restart)
 fdfs_storaged  /etc/fdfs/storage.conf start
netstat -atnp | grep 23000


#設置開機自啓
vim  /etc/rc.local
#末行添加
fdfs_storaged   /etc/fdfs/storage.conf start 

#關閉防火牆和安全功能
systemctl stop firewalld
setenforce 0

4.檢查是否與tracker監控端關聯成功

fdfs_monitor /etc/fdfs/storage.conf
Storage 1:
                id = 192.168.45.135
                ip_addr = 192.168.45.135 (storage)  ACTIVE
                http domain =

第五步:在storage端安裝nginx服務

1.安裝nginx及其組件

tar zxf nginx-1.12.0.tar.gz -C /opt/

2.下載fastdfs-nginx-module安裝包

wget https://github.com/happyfish100/fastdfs-nginx-module/archive/V1.20.tar.gz
tar zxf V1.20.tar.gz -C /opt/

3.編譯安裝

cd /opt/nginx-1.12.0
./configure --prefix=/usr/local/nginx --add-module=/opt/fastdfs-nginx-module-1.20/src/             
make && make install

解決報錯的方案

報錯信息:
/usr/include/fastdfs/fdfs_define.h:15:27: fatal error: common_define.h: No such file or directory
處理方法:
修改fastdfs-nginx-module-1.20/src/config文件,然後重新第7步開始
ngx_module_incs="/usr/include/fastdfs /usr/include/fastcommon/"
CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

4.配置fastdfs-nginx-module模塊

cd fastdfs-nginx-module-1.20/src
cp mod_fastdfs.conf /etc/fdfs/           
#移動其配置文件至fdfs目錄下

#修改配置文件mod-fasts.conf
vim /etc/fdfs/mod_fastdfs.conf
#檢查以下配置
base_path=/opt/fastdfs         
#存放數據文件、日誌的路徑

tracker_server=192.168.45.132:22122    
#tracker端的地址

url_have_group_name = true 
#url是否包含group名稱

storage_server_port=23000           
#需要和storage配置的相同

store_path_count=1              
#存儲路徑個數,需要和store_path個數匹配

store_path0=/opt/fastdfs               
#文件存儲的位置

5.修改nginx配置文件

vim /usr/local/nginx/conf/nginx.conf
#空行處追加以下內容
location ~/M00 {
                root /opt/fastdfs/data;
                ngx_fastdfs_module;
}

6.拷貝fastdfs並解壓目錄中的http.conf和mime.types

cd /opt/fastdfs-5.11/conf/
cp mime.types http.conf /etc/fdfs/

7.開啓Nginx服務

#創建軟連接讓系統識別nginx啓動腳本
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/  

#開啓服務
nginx

第六步:配置client客戶端

修改配置文件

vim /etc/fdfs/client.conf
base_path=/opt/fastdfs     
#tracker服務器文件路徑

tracker_server=192.168.45.132:22122            
#tracker服務器IP地址和端口號

http.tracker_server_port=8080                 
#tracker服務器的http端口號,必須和tracker的設置對應起來

三、驗證分佈式效果命令

上傳測試文件命令

/usr/bin/fdfs_upload_file <config_file> <local_filename>

實例演示

/usr/bin/fdfs_upload_file /etc/fdfs/client.conf test.jpg

查看上傳的圖片
在這裏插入圖片描述

下載文件命令

/usr/bin/fdfs_download_file <config_file> <file_id> [local_filename]

刪除文件命令

/usr/bin/fdfs_delete_file <config_file> <file_id>
發佈了95 篇原創文章 · 獲贊 7 · 訪問量 6275
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章