分佈式文件系統——fastDFS安裝


準備兩個 Linux 服務器。兩個服務器分別作爲 tracker 服務器(跟蹤服務器)和 storage 服務器(存儲服務器)。
Tracker 服務器 : 192.168.2.109
Storage 服務器 : 192.168.2.110
所有的安裝包都存放在/root/upload 目錄中。解壓後的安裝包根據具體命 令查看。(/usr/local/fastdfs)

1 核心安裝

Tracker Server 和 Storage Server 完全一致的安裝。 安裝 FastDFS 5.08 版本

1.1安裝 FastDFS 依賴

FastDFS 是 C 語言開發的應用。安裝必須使用 make、cmake 和 gcc 編譯器。 yum install -y make cmake gcc gcc-c++

1.2解壓 FastDFS 核心庫

libfastcommon 是從 FastDFS 和 FastDHT 中提取出來的公共 C 函數庫
cd /root/upload unzip libfastcommon-master.zip -d /usr/local/fastdfs

1.3進入解壓後的目錄

cd /usr/local/fastdfs/libfastcommon-master

1.4編譯安裝

libfastcommon 沒有提供 make 命令安裝文件。使用的是 shell 腳本執行編譯和安裝。shell腳本爲 make.sh
編譯./make.sh
安裝./make.sh install 有固定的默認安裝位置。
在/usr/lib64 和/usr/include/fastcommon 兩個目錄中。

1.5創建軟連接

因爲 FastDFS 主程序設置的 lib 目錄是/usr/local/lib,所以需要創建軟鏈接
ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

1.6解壓 FastDFS 主程序

本案例使用 5.08 版本 FastDFS。
cd /root/upload tar -zxf FastDFS_v5.08.tar.gz -C /usr/local/fastdfs

1.7進入 FastDFS 主程序源碼目錄

cd /usr/local/fastdfs/FastDFS

1.8修改安裝路徑

此操作可選。在集羣環境中使用默認安裝路徑安裝。
兩種安裝方式都嘗試一下。這裏我選擇的是修改了 後面也是修改之後的安裝
vi /usr/local/fastdfs/FastDFS/make.sh
TARGET_PREFIX=DESTDIR/usr>TARGETPREFIX=DESTDIR/usr ->TARGET_PREFIX=DESTDIR/usr/local

1.9編譯安裝 .

/make.sh .
/make.sh install
安裝後,FastDFS 主程序所在位置是:
/usr/local/bin - 可執行文件所在位置。
默認安裝在/usr/bin 中。
/etc/fdfs - 配置文件所在位置。
就是默認位置。
/usr/local/lib64 - 主程序代碼所在位置。
默認在/usr/bin 中。
/usr/local/include/fastdfs - 包含的一些插件組所在位置。
默認在/usr/include/fastdfs 中。

1.10FastDFS 安裝後資源簡介

1.10.1 服務腳本

/etc/init.d/目錄中,腳本文件是 - fdfs-storaged 和 fdfs-trackerd
ls /etc/init.d/ | grep fdfs

1.10.2 配置文件模板

/etc/fdfs/ 目 錄 中 , 配 置 文 件 是 - client.conf.sample 、 storage.conf.sample 和 tracker.conf.sample
ls /etc/fdfs/
tracker.conf.sample - 跟蹤器服務配置文件模板
storage.conf.sample - 存儲服務器配置文件模板
client.conf.sample - FastDFS 提供的命令行客戶端配置文件模板。
可以通過命令行測試 FastDFS 有效性。

1.10.3 內置命令

/usr/local/bin/目錄中。命令有若干。
可通過命令在控制檯訪問 FastDFS。
ls /usr/local/bin/ | grep fdfs
在這裏插入圖片描述

2 tracker 基礎配置

只在 tracker server 節點中配置。192.168.2.109

2.1創建跟蹤服務

配置文件 FastDFS 提供了配置文件模板,可以根據模板創建需要使用的配置文件。
cd /etc/fdfs
cp tracker.conf.sample tracker.conf

2.2修改配置文件

tracker.conf 配置文件用於描述跟蹤服務的行爲,需要進行下述修改:
vi /etc/fdfs/tracker.conf port=22122 # 默認服務端口 base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/tracker(自定義目錄) base_path 是 FastDFSTracker 啓動後使用的根目錄。也就是 data 和 logs 所在位置。

2.3創建自定義目錄

爲配置文件中定義的 base_path 變量創建對應的目錄。
mkdir -p /fastdfs/tracker

2.4修改啓動服務腳本

vi /etc/init.d/fdfs_trackerd
將 PRG=/usr/bin/fdfs_trackerd 修改爲 PRG=/usr/local/bin/fdfs_trackerd

2.5啓動服務

/etc/init.d/fdfs_trackerd start 啓動成功後,
配置文件中 base_path 指向的目錄中出現 FastDFS 服務相關數據目錄(data 目錄、logs 目錄)

2.6查看服務狀態

/etc/init.d/fdfs_trackerd status
ps aux | grep fdfs

2.7停止服務

/etc/init.d/fdfs_trackerd stop

2.8重啓服務

/etc/init.d/fdfs_trackerd restart

2.9設置開啓自啓

vi /etc/rc.d/rc.local
新增內容 - /etc/init.d/fdfs_trackerd start

3 storage 基礎配置

只在 storage server 中配置。192.168.2.100

3.1創建存儲服務配置文件

FastDFS 提供了配置文件模板,可以根據模板創建需要使用的配置文件。
cd /etc/fdfs cp storage.conf.sample storage.conf

3.2修改配置文件

storage.conf 配置文件用於描述存儲服務的行爲,需要進行下述修改:
vi /etc/fdfs/storage.conf
base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/storage/base (自定義目錄)
store_path0=/home/yuqing/fastdfs -> store_path0=/fastdfs/storage/store(自定義目錄)
tracker_server=192.168.2.109:22122 -> tracker_server=tracker 服務 IP:22122
base_path - 基礎路徑。用於保存 storage server 基礎數據內容和日誌內容的目錄。
store_path0 - 存儲路徑。是用於保存 FastDFS 中存儲文件的目錄,就是要創建 256*256 個子目錄的位置。
base_path 和 store_path0 可以使用同一個目錄。
tracker_server - 跟蹤服務器位置。就是跟蹤服務器的 ip 和端口。

3.3創建自定義目錄

mkdir -p /fastdfs/storage/base
mkdir -p /fastdfs/storage/store

3.4修改服務腳本

vi /etc/init.d/fdfs_storaged
將 PRG=/usr/bin/fdfs_storaged 修改爲 PRG=/usr/local/bin/fdfs_storaged

3.5啓動服務

(要求 tracker 服務必須已啓動)
/etc/init.d/fdfs_storaged start 啓動成功後,
配置文件中 base_path 指向的目錄中出現 FastDFS 服務相關數據目錄(data 目錄、logs 目錄),
配置文件中的 store_path0 指向的目錄中同樣出現 FastDFS 存儲相關數 據錄(data 目錄)。
其中$store_path0/data/目錄中默認創建若干子孫目錄(兩級目錄層級總
計 256256 個目錄),是用於存儲具體文件數據的。
Storage 服務器啓動比較慢,因爲第一次啓動的時候,需要創建 256
256 個目錄。

3.6查看服務狀態

/etc/init.d/fdfs_storaged status
ps aux | grep fdfs

3.7停止服務

/etc/init.d/fdfs_storaged stop

3.8重啓服務

/etc/init.d/fdfs_storaged restart

4 客戶端基礎配置 不是必須的。

就是用於使用命令行測試 FastDFS 才需要配置的。

4.1創建客戶端配置文件

在 tracker 服務結點所在服務器中配置客戶端。同樣通過配置文件模板創建對應配置文 件。
cd /etc/fdfs cp client.conf.sample client.conf

4.2修改配置文件

client.conf 配置文件中主要描述客戶端的行爲,需要進行下述修改:
vi /etc/fdfs/client.conf
base_path=/home/yuqing/fastdfs -> base_path=/fastdfs/client (自定義目錄) tracker_server=192.168.2.109:22122 -> tracker_server=tracker 服務 IP:22122 base_path - 就是客戶端命令行執行過程時臨時數據存儲位置。

4.3創建自定義目錄

mkdir -p /fastdfs/client

5 控制檯測試

FastDFS 命令所在:
/usr/local/bin 目錄。 (如果在安裝 FastDFS 過程中,沒有修改 make.sh 文 件中的 TARGET_PREFIX 屬性值,命令所在爲/usr/bin 目錄)

5.1上傳文件

/usr/local/bin/fdfs_upload_file /etc/fdfs/client.conf /要上傳的文件
上傳結束後,返回 group1/M00/00/00/xxxxxxxxxx.xxx,檢查 storage 服務結點中的 $store_path0/data/00/00/目錄中是否有上傳的文件(一般情況上傳的文件按順序保存在 storepath0/data/00/00/group1/M00/00/00/wKgCbltTYaeACDWgAAVCLEPUQWI.tar.gzgroup1M00/00/00/wKgCbltTYaeACDWgAAVCLEPUQWI.tar.gzM00windowsstore_path0/data/00/00/目錄中,不能完全保證)。 group1/M00/00/00/wKgCbltTYaeACDWgAAVCLEPUQWI.tar.gz 卷名 : group1 文件名 : M00/00/00/wKgCbltTYaeACDWgAAVCLEPUQWI.tar.gz 其中 M00 是一個虛擬目錄,相當於 windows 中的快捷方式,引用的是store_path0/data 目錄。

5.2刪除文件

/usr/local/bin/fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/xxxxxxx.xxx 刪除結束後,檢查$store_path0/data/00/00/目錄中是否還有文件。

6 安裝 Nginx 組件

如果 FastDFS 中保存的是圖片信息。
希望在 WEB 應用中可以直接訪問 FastDFS 中的圖 片進行顯示。如果操作? 安裝 Nginx 是爲了 WEB 應用中可以使用 HTTP 協議直接訪問 Storage 服務中存儲的文 件。在 storage 結點所在服務器安裝 Nginx 組件。
需要安裝兩部分內容。 Nginx 應用,在安裝 nginx 應用的時候,同時要在 nginx 中增加一個 FastDFS 的組件。 Module。

6.1解壓 fastdfs-nginx-module_v1.16.tar.gz

tar -zxf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fastdfs

6.2修改 fastdfs-nginx-module_v1.16.tar.gz

源文件中的配置 此操作必須修改,否則 Nginx 編譯會報錯。
cd /usr/local/fastdfs/fastdfs-nginx-module/src
vi /usr/local/fastdfs/fastdfs-nginx-module/src/config
參數是用於配置安裝 nginx 中的 FastDFS 組件的時候,在什麼位置查找 FastDFS 核心代 碼。
在這裏插入圖片描述

6.3.1安裝 Nginx 需要的依賴

yum install -y gcc gcc-c++ make automake autoconf libtool pcre pcre-devel zlib zlib-devel openssl openssl-devel

6.3.2使用 SFTP 上傳文件到 Linux 進入到本地的應用所在目錄。

cd /xxxx 目錄
sftp 192.168.2.110 輸入用戶名和密碼。使用哪一個用戶登錄,上傳的文件就在該用戶對應的主目錄下。如: root 用戶,上傳的文件在/root 目錄中。
上傳的命令: put 文件名
下載的命令: get 文件名

6.3.3解壓 Nginx

tar -zxf nginx-1.8.0.tar.gz -C /usr/local/fastdfs/

6.3.4進入 Nginx 源碼目錄

cd /usr/local/fastdfs/nginx-1.8.0/

6.3.5 配置 Nginx 安裝信息

./configure \ 
--prefix=/usr/local/nginx \
 --pid-path=/var/run/nginx/nginx.pid \ 
 --lock-path=/var/lock/nginx.lock \ 
 --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \ 
  --with-http_gzip_static_module \ 
  --http-client-body-temp-path=/var/temp/nginx/client \ 
  --http-proxy-temp-path=/var/temp/nginx/proxy \ 
  --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \ 
  --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \ 
  --http-scgi-temp-path=/var/temp/nginx/scgi \ 
  --add-module=/usr/local/fastdfs/fastdfs-nginx-module/src 
  --add-module 必須定義,此配置信息是用於指定安裝 Nginx 時需要加載的模塊,
  如果未 指定,Nginx 安裝過程不會加載 fastdfs-nginx-module 模塊,後續功能無法實現。

6.3.6創建目錄

Nginx 運行時需要創建若干臨時文件,如果默認安裝不需創建此目錄。
mkdir -p /var/temp/nginx

6.3.7編譯安裝

make
make install

6.3.8配置 fastdfs-nginx-module 模塊配置文件

複製配置文件/usr/local/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf 到/etc/fdfs 目錄 中
cp /usr/local/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/ cd /etc/fdfs/
修改配置文件 mod_fastdfs.conf
vi mod_fastdfs.conf 在這裏插入圖片描述

6.3.9提供 FastDFS 需要的 HTTP 配置文件

複製 FastDFS 安裝包中的兩個配置文件(http.conf 和 mime.types)到/etc/fdfs 目錄中 cp /usr/local/fastdfs/FastDFS/conf/http.conf /etc/fdfs/
cp /usr/local/fastdfs/FastDFS/conf/mime.types /etc/fdfs/

6.3.10 創建 nginx 啓動需要的軟連接 創建軟連接

ln -s /usr/local/lib64/libfdfsclient.so /usr/lib64/libfdfsclient.so
nginx 啓動後,會在默認的/usr/lib64 目錄中查找需要的 so 文件。如果在安裝 FastDFS 時,修改了 make.sh 文件中的 TARGET_PREFIX 參數,則必須創建此軟連接

6.3.11 創建網絡訪問存儲服務的軟連接

ln -s /fastdfs/storage/store/data/ /fastdfs/storage/store/data/M00
在上傳文件到 FastDFS 後,FastDFS 會返回 group1/M00/00/00/xxxxxxxxxx.xxx。其中 group1 是卷名,在 mod_fastdfs.conf 配置文件中已配置了 url_have_group_name,以保證 URL 解析正確。而其中的 M00 是 FastDFS 保存數據時使用的虛擬目錄,需要將這個虛擬目錄定 位到真實數據目錄上。
6.3.12 修改 nginx 配置文件
cd /usr/local/nginx/conf
vi nginx.conf 在這裏插入圖片描述

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