分散式檔案系統fastdfs_搭建和基本使用
分散式檔案系統fastdfs_搭建和基本使用
文章目錄
一、簡介
fastdfs是開源的輕量級的分散式檔案系統,可以用於檔案儲存。這裡對fastdfs特點及搭建進行介紹,作業系統使用的是mac。
二、fastdfs知識點
2.1 fastdfs特點
fastdfs是開源的分散式檔案系統,有以下特點:
- 開源的,可以在github上自由下載(github地址:https://github.com/happyfish100/fastdfs);
- 分散式的,可動態擴充套件容量,包含冗餘備份;
- fastdfs叢集可動態新增和移出tracker和storage伺服器,而不影響線上服務;
2.2 fastdfs應用場景
fastdfs可進行檔案管理,包含檔案儲存、上傳、下載、訪問等。適用於如圖片管理、視訊音訊管理、附件管理等以檔案為基礎的服務。
2.3 fastdfs儲存結構
fastdfs以卷volume(實際顯示為組group)構成儲存結構,fastdfs由一個或多個卷構成,不同卷間相同獨立,所有卷的容量總和即是fastdfs容量,一個卷可以由一臺或多臺伺服器構成,同一個卷不同伺服器上的資料是一樣的,可起到冗餘備份和負載均衡。
同一卷新增伺服器時,fastdfs會自動同步資料,同步完後會自動切換提供服務。
儲存空間不夠時,可動態新增捲,方式為新增一臺或多臺伺服器,並配置新的卷,就增加了fastdfs容量。
fastdfs檔案標識由兩部分構成:卷名(或者說組名)和檔名,兩者唯一定位一個檔案。
2.4 fastdfs構成
fastdfs由tracker、storage、client三部分構成。它們的作用如下:
- tracker:對檔案訪問進行規劃和負載均衡,可以有多臺伺服器;
- storage:儲存檔案和檔案管理(包含儲存、上傳、下載、訪問等),同時也管理檔案key-value形式的後設資料資訊(會生成單獨的以-m結尾的檔案,後續有示例),可以有多臺伺服器;
- client:接收使用者請求,到tracker中查詢檔案位置等資訊,然後根據前面取到的資訊,到storage中真正獲取檔案。
三、fastdfs安裝
fastdfs安裝包含libfastcommon模組、fastdfs模組、fastdfs-nginx-module模組,下面分別進行介紹。
4.1 libfastcommon安裝
安裝流程如下:
git clone https://github.com/happyfish100/libfastcommon.git
cd libfastcommon
./make.sh
sudo ./make.sh install
4.2 fastdfs安裝
fastdfs模組是主體。
安裝流程如下:
git clone https://github.com/happyfish100/fastdfs.git
cd fastdfs
./make.sh
./make.sh install
接下來需要配置fastdfs,配置檔案位於/etc/fdfs/目錄下,配置包括tracker.conf、storage.conf、client.conf三個檔案,先進行fastdfs配置目錄:
sudo chmod -R a+w /etc/fdfs/
#先進入fastdfs配置檔案目錄
cd /etc/fdfs/
tracker.conf檔案配置:
#複製tracker.conf
cp tracker.conf.sample tracker.conf
#建立tracker目錄
mkdir -p /Users/xx/fastdfs_dir/fastdfs_data/tracker
#修改tracker.conf
vim tracker.conf
#tracker.conf修改如下:
base_path = /Users/xx/fastdfs_dir/fastdfs_data/tracker
storage.conf檔案配置:
#複製storage.conf
cp storage.conf.sample storage.conf
#建立storage目錄
mkdir -p /Users/xx/fastdfs_dir/fastdfs_data/storage
#修改tracker.conf
vim storage.conf
#tracker.conf修改如下:
base_path = /Users/xx/fastdfs_dir/fastdfs_data/storage
store_path0 = /Users/xx/fastdfs_dir/fastdfs_data/storage
tracker_server = 192.168.31.220:22122
client.conf檔案配置:
#複製client.conf
cp client.conf.sample client.conf
#修改client.conf
vim client.conf
#client.conf修改如下:
base_path = /Users/xx/fastdfs_dir/fastdfs_data/tracker
tracker_server = 192.168.31.220:22122
4.3 fastdfs-nginx-module安裝
fastdfs-nginx-module模組便於訪問,當多臺機器檔案還未完成時,用於重定向請求到源伺服器,獲取資源。結合nginx使用,需要在nginx中新增fastdfs-nginx-module模組。安裝步驟如下:
#下載fastdfs-nginx-module模組
git clone https://github.com/happyfish100/fastdfs-nginx-module.git
#下載nginx
wget http://nginx.org/download/nginx-1.17.7.tar.gz
#解壓nginx-1.17.7.tar.gz
tar -zxvf nginx-1.17.7.tar.gz
#進入nginx-1.17.7目錄
cd nginx-1.17.7
#nginx安裝及新增fastdfs-nginx-module模組
./configure --add-module=/Users/xx/fastdfs_dir/fastdfs-nginx-module/src
make
sudo make install
#檢視nginx新增fastdfs-nginx-module配置
/usr/loca/nginx/sbin/nginx -V
輸出如下:
nginx version: nginx/1.17.7
built by clang 10.0.1 (clang-1001.0.46.4)
configure arguments: --add-module=/Users/xx/fastdfs_dir/fastdfs-nginx-module/src
fastdfs-nginx-module配置:
#複製mod_fastdfs.conf
cp fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/
#修改mod_fastdfs.conf
vim /etc/fdfs/mod_fastdfs.conf
#mod_fastdfs.conf修改內容如下:
tracker_server=192.168.31.220:22122
url_have_group_name = true #url是否包含group名稱
store_path0=/Users/xx/fastdfs_dir/fastdfs_data/storage
#複製fastdfs其它配置檔案到配置目錄
cp fastdfs/conf/http.conf fastdfs/conf/mime.types fastdfs/conf/anti-steal.jpg /etc/fdfs/
修改nginx配置:
#進入nginx目錄
cd /usr/local/nginx
#修改nginx配置檔案nginx.conf
vim nginx/conf/nginx.conf
#在nginx.conf檔案的http->server模組下新增:
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
備註:
若不新增fastdfs-nginx-module,也可通過nginx訪問指定機器上的檔案,此時nginx中的nginx.conf配置如下:
#在nginx.conf檔案的http->server模組下新增:
location /group1/M00 {
alias /Users/xx/fastdfs_dir/fastdfs_data/storage/data;
}
四、fastdfs使用
4.1 fastdfs啟動
sudo /usr/local/bin/fdfs_trackerd /etc/fdfs/tracker.conf start
sudo /usr/local/bin/fdfs_storaged /etc/fdfs/storage.conf start
4.2 fastdfs常用操作
fastdfs操作命令位於/usr/local/bin目錄下以fdfs開頭的,這裡介紹常用的:
#檔案上傳(fdfs_upload_file位於/usr/local/bin目錄下):
fdfs_upload_file /etc/fdfs/client.conf /Users/xx/t.txt
結果如下:
group1/M00/00/00/wKgf3F5GG5-AITOrAAAACfJka8E677.txt
#解析
#組名:group1
#磁碟:M00
#目錄:00/00
#檔案:wKgf3F5GG5-AITOrAAAACfJka8E677.txt
#實際儲存於:
#/Users/xx/fastdfs_dir/fastdfs_data/storage/data/00/00/wKgf3F5GG5-AITOrAAAACfJka8E677.txt
#查年檔案詳情:
fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/wKgf3F5GG5-AITOrAAAACfJka8E677.txt
#檔案刪除:
fdfs_delete_file /etc/fdfs/client.conf group1/M00/00/00/wKgf3F5GG5-AITOrAAAACfJka8E677.txt
#檔案下載:
fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/wKgf3F5GG5-AITOrAAAACfJka8E677.txt t1.txt
4.3 nginx訪問檔案
地址為:http://localhost:80/group1/M00/00/00/wKgf3F5GG5-AITOrAAAACfJka8E677.txt
相關文章
- 分散式檔案系統分散式
- 分散式檔案系統-HDFS分散式
- HDFS分散式檔案系統分散式
- cephFS分散式檔案系統操作分散式
- FastDFS-分散式檔案系統AST分散式
- 部署GPS分散式檔案系統分散式
- 分散式檔案系統之 FastDFS分散式AST
- 分散式檔案系統(HDFS)與 linux系統檔案系統 對比分散式Linux
- 分散式檔案系統之MogileFS的安裝使用分散式
- AspNetCore分散式檔案上傳系統NetCore分散式
- GFS分散式檔案系統部署解析分散式
- Hadoop 系列(一)—— 分散式檔案系統 HDFSHadoop分散式
- 大資料 | 分散式檔案系統 HDFS大資料分散式
- Linux系統中常見的分散式檔案系統推薦!Linux分散式
- FASTDFS開源分散式檔案系統介紹AST分散式
- 分散式檔案系統之FastDFS安裝部署分散式AST
- Hadoop學習(一)——HDFS分散式檔案系統Hadoop分散式
- Hadoop基礎(一):分散式檔案系統HDFSHadoop分散式
- 隨行付微服務之分散式檔案系統微服務分散式
- 分散式檔案系統fastdfs安裝以及python呼叫分散式ASTPython
- Google分散式檔案系統GFS論文學習Go分散式
- HDFS架構指南(分散式系統Hadoop的檔案系統架構)架構分散式Hadoop
- 分散式檔案系統如何做?終於有個人把分散式檔案上傳講清楚了分散式
- 最簡單的分散式檔案系統 go-fastdfs分散式GoAST
- 必須掌握的分散式檔案儲存系統—HDFS分散式
- Hadoop分散式檔案系統(HDFS)會不會被淘汰?Hadoop分散式
- Linux 檔案系統基本介紹Linux
- 分散式系統–>(關於系統應用的基本概念)分散式
- Hadoop HDFS分散式檔案系統 常用命令彙總Hadoop分散式
- 分散式檔案儲存系統 fastdfs 的 Composer 包釋出!分散式AST
- Hadoop 三劍客之 —— 分散式檔案儲存系統 HDFSHadoop分散式
- 星環科技分散式檔案系統TDFS大揭祕(上)分散式
- 常見開源分散式檔案系統架構對比分散式架構
- 【檔案系統】嵌入式檔案系統Fatfs簡介
- 搞懂分散式技術1:分散式系統的一些基本概念分散式
- 掃盲:Hadoop分散式檔案系統(HDFS)基礎概念講解!Hadoop分散式
- 分散式檔案系統HDFS,大資料儲存實戰(一)分散式大資料
- 分散式檔案系統設計,該從哪些方面考慮?分散式