FastDFS - Linux環境搭建

FastDFS - Linux環境搭建

FastDFS

FastDFS 是用 c 語言編寫的一款開源的分佈式文件系統。FastDFS 爲互聯網量身定製,充分考慮了冗餘備份、負載均衡、線性擴容等機制,並注重高可用、高性能等指標,使用 FastDFS很容易搭建一套高性能的文件服務器集羣提供文件上傳、下載等服務。
FastDFS 架構包括 Tracker server 和 Storage server。客戶端請求 Tracker server 進行文件上傳、下載,通過 Tracker server 調度最終由 Storage server 完成文件上傳和下載。
Tracker server 作用是負載均衡和調度,通過 Tracker server 在文件上傳時可以根據一些策略找到 Storage server 提供文件上傳服務。可以將 tracker 稱爲追蹤服務器或調度服務器。
Storage server 作用是文件存儲,客戶端上傳的文件最終存儲在 Storage 服務器上,Storageserver 沒有實現自己的文件系統而是利用操作系統 的文件系統來管理文件。可以將storage稱爲存儲服務器。
在這裏插入圖片描述

服務端兩個角色:
Tracker:管理集羣,tracker 也可以實現集羣。每個 tracker 節點地位平等。收集 Storage 集羣的狀態。
Storage:實際保存文件 Storage 分爲多個組,每個組之間保存的文件是不同的。每個組內部可以有多個成員,組成員內部保存的內容是一樣的,組成員的地位是一致的,沒有主從的概念。

5.2文件上傳及下載的流程
5.2.1 文件上傳流程
在這裏插入圖片描述

客戶端上傳文件後存儲服務器將文件 ID 返回給客戶端,此文件 ID 用於以後訪問該文件的索引信息。文件索引信息包括:組名,虛擬磁盤路徑,數據兩級目錄,文件名。
在這裏插入圖片描述

 組名:文件上傳後所在的 storage 組名稱,在文件上傳成功後有 storage 服務器返回,需要客戶端自行保存。
 虛擬磁盤路徑:storage 配置的虛擬路徑,與磁盤選項 store_path*對應。如果配置了
store_path0 則是 M00,如果配置了 store_path1 則是 M01,以此類推。
 數據兩級目錄:storage 服務器在每個虛擬磁盤路徑下創建的兩級目錄,用於存儲數據
文件。
 文件名:與文件上傳時不同。是由存儲服務器根據特定信息生成,文件名包含:源存儲
服務器 IP 地址、文件創建時間戳、文件大小、隨機數和文件拓展名等信息。
5.2.2 文件下載流程
在這裏插入圖片描述

5.3最簡單的 FastDFS 架構
在這裏插入圖片描述

5.4 FastDFS-linux環境安裝

前期準備
最好將虛擬機ip地址改爲靜態, 不然有可能重啓後就變了
在這裏插入圖片描述
在這裏插入圖片描述
配置虛擬機開機自動聯網(不配每次都要手動打開網絡)
cd /etc/sysconfig/network-scripts/
打開當前虛擬機使用的虛擬網卡的配置文件, 每臺虛擬機名字不同, 可ifconfig查看
vi ifcfg-ens33
將文件中的
ONBOOT=no
改爲
ONBOOT=yes

一, 安裝Tracker

安裝在了虛擬機Leapfrog-main中的root賬戶下

1.安裝gcc

安裝FastDFS需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc(順帶安裝其他環境):
yum -y install zlib zlib-devel pcre pcre-devel gcc gcc-c++ openssl openssl-devel libevent libevent-devel perl unzip net-tools wget

2.安裝libevent

FastDFS依賴libevent庫,需要安裝:
yum -y install libevent

3.安裝libfastcommon
libfastcommonV1.0.7.tar.gz
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS運行所需要的一些基礎庫。
將libfastcommonV1.0.7.tar.gz拷貝至/usr/local/下
cp libfastcommonV1.0.7.tar.gz /usr/local/ - 需要先將安裝包拷貝到虛擬機中,若直接拷貝到/usr/local/下就無需此句指令
cd /usr/local
tar -zxvf libfastcommonV1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
./make.sh install

注意:libfastcommon安裝好後會自動將庫文件拷貝至/usr/lib64下,由於FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫文件libfastcommon.so拷貝至/usr/lib下。
cd /usr/lib64/
cp libfastcommon.so /usr/lib/
要拷貝的文件如下:
7823F118-FF1D-4B41-AA86-3AA82F93AA3D.pdf

4.安裝FastDFS(Tracker)

FastDFS_v5.05.tar.gz
將FastDFS_v5.05.tar.gz拷貝至/usr/local/下
cp FastDFS_v5.05.tar.gz /usr/local/ - 需要先將安裝包拷貝到虛擬機中,若直接拷貝到/usr/local/下就無需此句指令
cd /usr/local/
tar -zxvf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh
./make.sh install

安裝成功將安裝目錄下的conf下的文件:
client.conf
http.conf
mime.types
storage.conf
storage_ids.conf
tracker.conf
拷貝到/etc/fdfs/下
cd conf/
cp client.conf http.conf mime.types storage.conf storage_ids.conf tracker.conf /etc/fdfs/

5.配置FastDFS(Tracker)
安裝成功後進入/etc/fdfs目錄:
cd /etc/fdfs/
修改tracker.conf
vi tracker.conf

base_path=/home/yuqing/FastDFS
改爲:
base_path=/home/FastDFS
配置http端口:
http.server_port=80
在/home/下新建文件夾FastDFS
cd /home/
mkdir FastDFS

6.啓動FastDFS(Tracker)
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
關閉命令(不用輸入, 需要關閉時再用):
killall fdfs_trackerd
killall fdfs_storaged

7.驗證是否成功

  1. 啓動成功後,在/home/FastDFS/目錄下生成了data和logs兩個目錄
  2. 查看是否成功監聽
    netstat -anp|grep fdfs
    在這裏插入圖片描述

二, 安裝Storage

安裝在了虛擬機Leapfrog-sub中的root賬戶下
正常可分別在三臺虛擬機上安裝storage, 初次安裝可只安裝一臺storage方便調試.

1.安裝gcc
同tracker安裝
安裝FastDFS需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc:
yum install gcc-c++

2.安裝libevent
同tracker安裝
FastDFS依賴libevent庫,需要安裝:
yum -y install libevent

3.安裝libfastcommon
安裝包與過程同tracker安裝
libfastcommonV1.0.7.tar.gz
libfastcommon是FastDFS官方提供的,libfastcommon包含了FastDFS運行所需要的一些基礎庫。
將libfastcommonV1.0.7.tar.gz拷貝至/usr/local/下
cp libfastcommonV1.0.7.tar.gz /usr/local/ - 需要先將安裝包拷貝到虛擬機中,若直接拷貝到/usr/local/下就無需此句指令
cd /usr/local
tar -zxvf libfastcommonV1.0.7.tar.gz
cd libfastcommon-1.0.7
./make.sh
./make.sh install

注意:libfastcommon安裝好後會自動將庫文件拷貝至/usr/lib64下,由於FastDFS程序引用usr/lib目錄所以需要將/usr/lib64下的庫文件libfastcommon.so拷貝至/usr/lib下。
cd /usr/lib64/
cp libfastcommon.so /usr/lib/
要拷貝的文件如下:
7823F118-FF1D-4B41-AA86-3AA82F93AA3D.pdf

4.安裝FastDFS(Storage)
FastDFS_v5.05.tar.gz
將FastDFS_v5.05.tar.gz拷貝至/usr/local/下
cp FastDFS_v5.05.tar.gz /usr/local/ - 需要先將安裝包拷貝到虛擬機中,若直接拷貝到/usr/local/下就無需此句指令
cd /usr/local/
tar -zxvf FastDFS_v5.05.tar.gz
cd FastDFS
./make.sh
./make.sh install

安裝成功將安裝目錄下的conf下的文件:
client.conf
http.conf
mime.types
storage.conf
storage_ids.conf
tracker.conf
拷貝到/etc/fdfs/下
cd conf/
cp client.conf http.conf mime.types storage.conf storage_ids.conf tracker.conf /etc/fdfs/

5.配置FastDFS(Storage)
安裝成功後進入/etc/fdfs目錄:
cd /etc/fdfs/
修改storage.conf
vi storage.conf
group_name=group1
base_path=/home/yuqing/FastDFS改爲:base_path=/home/FastDFS
store_path0=/home/yuqing/FastDFS改爲:store_path0=/home/FastDFS/fdfs_storage
#如果有多個掛載磁盤則定義多個store_path,如下
#store_path1=…
#store_path2=…
tracker_server=172.16.52.214:22122 #配置tracker服務器:IP
#如果有多個則配置多個tracker
#tracker_server=172.16.52.215:22122
#配置http端口
http.server_port=80

在/home/下新建文件夾FastDFS
cd /home/
mkdir FastDFS
在/home/FastDFS/下新建文件夾fdfs_storage
cd FastDFS/
mkdir fdfs_storage

6.啓動FastDFS(Storage)
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
關閉命令(不用輸入, 需要關閉時再用):
killall fdfs_trackerd
killall fdfs_storaged
若程序卡在那裏說明出現錯誤, 強制中斷查看日誌

7.驗證是否成功
查看log日誌
cd /home/FastDFS/logs/
cat storaged.log

啓動時出現了錯誤, 如下(無法連接Tracker):
在這裏插入圖片描述
在這裏插入圖片描述

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