1. 程式人生 > >docker下搭建fastfds叢集版

docker下搭建fastfds叢集版

搭建過程參考 作者 https://me.csdn.net/feng_qi_1984 的課程視訊

 

宣告:叢集版是在我之前寫的單機版基礎之上進行搭建的,我將安裝了fastfds單機版的docker打包成了映象。

如對fastfds搭建流程不熟悉者,需先參閱之前的文章。點選進入文章

首先借鑑一個公眾號的兩張圖來說明一下 fastfds 上傳下載的流程,公眾號為 "Java架構師之路"

我搭建的思路是,兩個tracker、四個storage,然後通過nginx進行反向代理訪問圖片。

下面演示搭建步驟

先配置幾個虛擬ip

執行上次打包的映象,建立docker容器

docker run --privileged=true -itd -v /soft/:/back -p 192.168.46.230:80:80 -p 192.168.46.230:22122:22122 -p 192.168.46.230:8080:8080 529c212ff162 /bin/bash

進入容器

docker exec -it 0d581e092e1d /bin/bash

(一)tracker

叢集版中 配置 tracker 修改tracker.conf檔案

# cd /etc/fdfs/

# vi tracker.conf

修改 store_lookup=2 (0代表輪詢,1代表固定group,2代表負載均衡)

啟動 tracker

# service fdfs_trackerd start

檢視一下

# netstat -unltp | grep fdfs

備用 tracker 進行相同操作

(二)storage

配置storage的配置檔案

# cd /etc/fdfs/

# vi storage.conf

修改tracker_server

配置group_name 我的是兩個1兩個2

把主備兩個tracker都配置上

tracker_server=172.17.0.34:22122

tracker_server=172.17.0.36:22122

修改/etc/fdfs/目錄下的mod_fastdfs.conf

connect_timeout=10

tracker_server 主備兩個都要配置       且更改  group_count = 2

我是設定了兩個組 每個組兩個storage

再配置group1和group2

修改nginx配置檔案

# cd /usr/local/nginx/conf/

# vi nginx.conf

listen 8888; 由於storage的埠號為8888 所以這裡要修改

如果是group2的話 需要修改group2

修改完以後 儲存退出

將剛剛配置好的storage容器 打包成映象

docker commit f790145a83a2 storage:v1

然後依舊是埠號對映、硬碟掛載建立容器,注意要更改ip地址,然後用新打包好的映象

docker run --privileged=true -itd -v /soft/:/back -p 192.168.46.235:80:80 -p 192.168.46.235:23000:23000 -p 192.168.46.235:8888:8888 cea52388dba7 /bin/bash

注意 這裡的 埠號 做了 修改

 

安裝好以後 進入容器。 直接啟動 storage服務 和 nginx 服務就行了

然後繼續 安裝 容器

這次進入以後 將 storage.conf 和 mod_fastdfs.conf 中的 groupname 修改為 group2

storage.conf

mod_fastdfs.conf

nginx 的配置檔案 也要修改

 

再 啟動 storage 服務 和 nginx 服務

然後再 安裝一個容器 同上

安裝並配置完以後

在cd /usr/bin 這個 資料夾下面 有很多可執行的指令碼。

我們通過fdfs_monitor /etc/fdfs/storage.conf 命令

可以檢視到 以下內容

 

再往下 可以看到 分別有哪些組,每個組裡有哪些storage 以及這些storage的狀態

 

(三) 測試一下

進入 主 tracker 也就是 第一個配置的那個 tracker

修改 /etc/fdfs/client/conf 檔案

 

# /usr/bin/fdfs_test /etc/fdfs/client.conf upload /back/3.jpg

新增路由

複製地址,輸入埠號 8888 可以訪問

通過linux的ip也可以訪問

由於我這個是group2,那麼group2中的另一個 storage中應該也存放了該圖片

 

上傳雖然能成功 但是訪問的時候IP都不同 所以訪問起來很不方便 可以再用一個nginx做一個反向代理

# cd /usr/local/nginx/conf/

# vi nginx.conf

啟動 nginx

就可以通過 nginx 的ip地址 加上後面的 路徑 訪問圖片了
---------------------
作者:苝花向暖丨楠枝向寒
來源:CSDN
原文:https://blog.csdn.net/weixin_40247263/article/details/81087726
版權宣告:本文為博主原創文章,轉載請附上博文連結!