搭建FastDFS分佈式羣集

前言

FastDFS是一個c語言編寫的一個開源的輕量級分佈式文件系統,它對文件進程管理,功能包括:文件存儲,文件同步,文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題,特別適合以文件爲載體的在線服務,如相冊網站,視頻網站等等,FastDFS爲互聯網量身定製,充分考慮了冗餘備份,負載均衡,現行擴容等,並注重高可用,高性能等指標,使用FastDFS很容易搭建一套高性能的文件服務器集羣提供文件上傳、下載服務。

一、FastDFS原理及架構詳解

1、FastDFS架構
FastDFS架構包括Tracker server和Storage server,client請求Tracker server 進行文件上傳、下載,通過Tracker server調度最終由Storage server完成文件上傳和下載。


* Tracker server:負責調度及負載均衡,通過Tracker server,在文件上傳時可以根據一些策略找到Storage server來提供
 上傳服務,可以將tracker稱爲追蹤服務器或調度服務器;
* Storage server:負責文件最終存儲,客戶端上傳的文件最終存儲在storage服務器上,Storage server沒有實現自己的文
  件系統,而是利用操作系統的文件系統來管理文件,可以將storage稱爲存儲服務器。

二、部署FastDFS羣集、

1、所需環境如下:

* Tracker Server跟蹤服務器:10.10.1.7
* Tracker Server跟蹤服務器:10.10.1.6

* Storage Server存儲服務器:10.10.1.5
* Storage Server存儲服務器:10.10.1.6
* Storage Server存儲服務器:10.10.1.7

2、所有tracker和storage節點都執行如下操作

[root@master ~]# yum -y install make cmake gcc gcc-c++    //安裝所需依賴
[root@master ~]# cd /usr/local/src/ 
[root@master src]# unzip libfastcommon-master   //安裝libfatscommon
[root@master src]# cd libfastcommon-master 
[root@master libfastcommon-master]# ./make.sh   //編譯安裝
[root@master libfastcommon-master]# ./make.sh   install

[root@master libfastcommon-master]# cd ..
[root@master src]# tar -zxvf FastDFS_v5.08.tar.gz   //安裝FastDFS
[root@master src]# cd FastDFS
[root@master FastDFS]# ./make.sh             //編譯安裝
[root@master FastDFS]# ./make.sh    install

採用默認安裝方式,相應的文件與目錄檢查如下:
    /etc/init.d/fdfs_storaged
   /etc/init.d/fdfs_trackerd
[root@master FastDFS]# ll /etc/fdfs/ 
總用量 40
-rw-r--r-- 1 root root 1461 12月 17 16:10 client.conf.sample
-rw-r--r-- 1 root root 7927 12月 17 16:10 storage.conf.sample
-rw-r--r-- 1 root root 7200 12月 17 16:10 tracker.conf.sample

//如上在所有節點上執行,安裝相關依賴

3、配置tracker服務器以及storaged服務器

[root@tracker ~]# cd /etc/fdfs/
[root@tracker fdfs]# cp /etc/fdfs/tracker.conf.sample  /etc/fdfs/tracker.conf   //重新命名
[root@tracker fdfs]# vim tracker.conf 
#修改內容如下:
disabled=false              #啓用配置文件
port=22122                  #tracker服務器端口(默認22122)
base_path=/fastdfs/tracker    #存儲日誌和數據的根目錄
store_group=group1,group2,group3       #分別代表三臺主機
[root@tracker fdfs]# mkdir -p /fastdfs/tracker/   #創建存儲日誌和數據的根目錄
[root@tracker fdfs]# /etc/init.d/fdfs_trackerd  start   #啓動tracker服務

配置storage服務器
[root@tracker fdfs]# cp storage.conf.sample  storage.conf    #重新命名 
[root@tracker fdfs]# vim storage.conf 
# 修改的內容如下:
disabled=false                      # 啓用配置文件
group_name=group2           #代表當前主機是那個組
port=23000                          # storage服務端口
base_path=/fastdfs/storage          # 數據和日誌文件存儲根目錄
store_path0=/fastdfs/storage        # 第一個存儲目錄
tracker_server=10.10.1.7:22122  # tracker服務器IP和端口
tracker_server=10.10.1.6:22122  #tracker服務器IP2和端口
http.server_port=8888               # http訪問文件的端口
[root@tracker fdfs]# mkdir -p  /fastdfs/storage/ 
[root@tracker fdfs]# /etc/init.d/fdfs_storaged  start    #啓動storaged

4、修改Tracker服務器客戶端配置文件

[root@master fdfs]# cp client.conf.sample  client.conf
[root@master fdfs]# vim client.conf
修改配置如下:
base_path=/fastdfs/tracker
tracker_server=10.10.1.7:22122  # tracker服務器IP和端口
tracker_server=10.10.1.6:22122  #tracker服務器IP2和端口

5、以下簡單測試一下驗證是否成功

[root@tracker src]# ls
FastDFS  FastDFS_v5.08.tar.gz  libfastcommon-master  libfastcommon-master.zip  test2.png
#隨機找一張圖片上傳到/usr/local/src/下
#以下存圖會隨機存儲到三臺主機不同group
[root@tracker src]# /usr/bin/fdfs_upload_file  /etc/fdfs/client.conf /usr/local/src/test2.png 
group2/M00/4B/55/CgoBB1_kTMKAdHgCACM5jnZmB2c673.png
[root@tracker src]# /usr/bin/fdfs_upload_file  /etc/fdfs/client.conf /usr/local/src/test2.png 
group1/M00/00/6A/CgoBBl_kTMOAFG1PACM5jnZmB2c579.png
[root@tracker src]# /usr/bin/fdfs_upload_file  /etc/fdfs/client.conf /usr/local/src/test2.png 
group2/M00/4B/55/CgoBB1_kTMSAYSvOACM5jnZmB2c978.png
#本地圖片上傳到Fastdfs
#查看是否存儲成功如下:
[root@tracker 55]# pwd
/fastdfs/storage/data/4B/55
[root@tracker 55]# ls

搭建FastDFS分佈式羣集

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章