最終效果
初始化為6個節點
在/usr/local/software 目錄下上傳需要用到tar包,分別在各個節點上傳
使用scp 將本地software目錄復制到其他節點上
73、74為 tracker集群,其他為storage集群
其中13對應15,16
其中14對應17,18
------------------------------------------------------------------------------------------------------
一、安裝軟件部分,6台機器同時進行安裝
1.安裝 gcc :yum install make cmake gcc gcc-c
2.安裝libfastcommon 包
上傳libfastcommon-master.zip到/usr/local/software下
unzip libfastcommon-master.zip -d /usr/local/fast/
cd /usr/local/fast/libfastcomon-master/ 進行安裝編譯
./make.sh
./make.sh install
FastDFS主程序設置的目錄為/usr/local/lib/,所以我們需要創建/usr/lib64/下的一些核心執行程序的軟連接文件。
mkdir /usr/local/lib
ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
3.安裝FastDFS系統
cd /usr/local/software 解壓 FastDFS_v5.05.tar.gz 文件
cd /usr/local/software
tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast
解壓后進行安裝編譯
cd /usr/local/fast/FastDFS
./make.sh
./make.sh install
fastDFS的配置文件在 /etc/fdfs/ 目錄下 其中有三個文件 客戶端,storaged以及tracker文件
因為FastDFS服務腳本設置的bin目錄為 /usr/local/bin下,實際安裝如上圖在 /usr/bin下,所以修改
FastDFS配置文件中的路徑,需要修改兩個配置文件 /etc/init.d/fdfs_storaged 和 fdfs_trackerd文件
vim打開兩個配置文件 執行 %s+/usr/local/bin+/usr/bin,其中所有節點都進行此項操作
二、進行兩個 tracker 的配置 兩個tracker服務器同時進行
1.進入到etc目錄下的fastdfs配置文件夾中,共有三個文件
cd /etc/fdfs
2.修改tracker配置文件,修改conf文件
cp tracker.conf.sample tracker.conf
vim tracker.conf
修改屬性 base_path=/fastdfs/tracker
store_lookup = 0
0 輪詢上傳文件
1 固定上傳1個group 為 store_group 指定group
2 負載均衡上傳,誰空閑大上傳誰
3.啟動跟蹤器
mkdier -p /fastdfs/tracker 對應上面配置的 base_path
cd /fastdfs/tracker/ && ll
沒有文件 total 0
/etc/init.d/fdfs_trackerd start 啟動命令 / stop 停止命令
/etc/init.d/fdfs_tracker
查看進程
ps -ef | grep fdfs / netstat -tunp | grep fdfs
查看log后100行數據
tail -f n 100 /fastdfs/tracker/logs/trackerd.log
三、四台機器分別配置存儲節點storaged
1.修改storage.conf文件
cd /etc/fdfs
cp storage.conf.sample storage.conf
vim storage.conf
115,116為1組 group1, 117和118為1組 group2 編輯文件內容如下:
disabled=false 啟用配置文件
group_name=group1 組名 第一組group1 第二組group2
Port=23000 storage 端口號 同一個storage端口號必須相同
base_path=/fastdfs/storage 設置log存儲路徑
store_path_count=1 設置存儲路徑個數
store_path0=/fastdfs/storage 設置存儲路徑
tracker_server=tracker1IP:22122 tracker服務器ip地址和端口號
tracker_server=tracker2IP:22122 多個tracker直接添加多個配置
Http.server_port=8888 設置端口號 -》 nginx.conf 設置 listen 8888 對應
同步文件到其余3個storage服務器中
其中117,118服務器storage.cnf 修改group_name,其余不用修改
group_name=group2
2.創建storage存放數據目錄
mkdir -p /fastdfs/storage
3.啟動storage服務
啟動服務: /etc/init.d/fdfs_storaged start
查看日志: tail -f /fastdfs/storage/logs/storaged.log
注意:啟動服務時候先啟動 173 174 tracker 跟蹤器節點,然后分別啟動第一組存儲節點(175,176)節點,通過日志可以知道誰是leader節點,如下圖:175節點log, tracker leader 是174節點,最后一句 75成功連接 76 服務同為 group1組
4.如果174 leader 節點down了,則服務自動切換成 173 為leader 節點
5.在usr/bin 下有好多命令,通過fdfs_monitor 命令監控當前storage存儲狀態
/usr/binfdfs_monitor /etc/fdfs/storage.conf 會顯示集群所有節點信息
6.進行服務測試,通過client 服務測試
cd /etc/fastdfs/ 進行測試
cp client.conf.sample client.conf
vim client.conf 修改測試客戶信息
base_path=/fastdfs/tracker
tracker_server=trackerIP1:22122
tracker_server=trackerIP2:22122
cd /usr/local
長傳文件到storage上
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/xxxxx.file
返回 group1/M00/00/00/xxxxxxxxx.file
查看75,76文件data,都有上傳文件,77,78沒有文件
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/ssss.file
返回 group2/M00/00/00/ssss.file
查看75,76 沒有文件, 77 ,78 data目錄下有文件
(在 store_lookup=0 設置 輪詢上傳)
------------------------------------------------------fastdfs集群部署完成--------------------------------------------------------
四.fastdfs配置ngnix
(在storage節點上安裝)
1.添加 fastdfs-nginx-modue模塊,
cd /usr/local/software
tar -zxvf fastdfs-nginx-module_v1.16.tar.gz -C /usr/local/fast
2.安裝fastdfs-nginx-modue之前,對配置文件進行修改
cd fastdfs-nginx-module/src/
vim config
去除local文件層次 四個節點同時操作
3.四個存儲節點安裝nginx依賴包,安裝nginx,添加fastdfs和nginx的整合模塊
(1).安裝nginx依賴包
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
(2).安裝nginx,加入fastdfs-nginx-module
cd /usr/local/software
tar -zxvf nginx-1.6.2.tar.gz -C /usr/local
cd /usr/local/nginx-1.6.2/
./configure --add-module=/usr/local/fast/fastdfs-nginx-module/src
make && make install
(3).復制fastdfs-nginx-module中的配置文件到 /etc/fdfs 目錄下
cd /usr/local/fast/fastdfs-nginx-module/src
cp mod_fastdfs.conf /etc/fdfs/
vim /etc/fdfs/mod_fastdfs.conf 修改連接超時時間。追蹤器路徑,url的group配置等
第一組 175 176 和 第二組 177 178 節點修改內容 只有組名稱不同
[115]
connect_timeout=10
tracker_server=trackerIP1:22122
tracker_server=trackerIP2:22122
storage_server_port=23000
url_have_group_name=true
store_path0=/fastdfs/storage
group_name=group1 / group2 第一組(115 116)為group1 第二組(117 118)為 group2
group_count=2
(4).復制FastDFS中的 2 個文件到 /etc/fdfs 目錄中 所有節點
cd /usr/local/fast/FastDFS/conf
cp http.conf mime.types /etc/fdfs/
(5).創建一個軟連接,在 /fastdfs/storage 文件存儲目錄下創建, 將其連接到實際存放數據的目錄
源文件 連接文件 M00 指向 data
ln -s /fastdfs/storage/data /fastdfs/storage/data/M00
(6).配置 nginx 配置文件
cd /usr/local/nginx/conf
vim nginx.conf
訪問 group [0-9] ,直接訪問 M00軟連接,執行 ngx_fastdfs_module模塊
listen 8888為 storage http.server_port=8888 配置對應
(7).檢查防火牆,啟動 nginx
/usr/local/nginx/sbin/nginx 啟動服務
/usr/local/nginx/sbin/nginx stop 停止服務
/usr/local/nginx/sbin/nginx -s stop 重啟服務
(8).可以通過 tracler 節點 client 上傳文件 然后使用http url訪問圖片了
/usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/xxxxxx.file
http://ClientIP:8888/group1/M00/00/00/xxxxxx.file -》ClientID 75 76 77 78
其中 75 76 數據相同 77 78 數據相同 不能跨域訪問
------------------------------------------------------nginx fastdfs 整合完成--------------------------------------------------------
五.追蹤器上提那家nginx,提供反向代理服務(使用一個ip向外部提供服務)
1.上傳ngx_cache_purge-2.3.tar.gz 文件到 /usr/local/software 目錄下
2.上傳tar -zxvf ngx_cache_purge-2.3.tar.gz -C /usr/local/fast 並且進行解壓
3.cd /usr/local/fast/ ll 查看目錄下文件 新增緩存模塊
4.配置nginx,添加nginx依賴包等
yum install pcre
yum install pcre-devel
yum install zlib
yum install zlib-devel
5.解壓nginx 並且加入 ngx_cache_pureg (緩存模塊)
cd /usr/local/software
tar -zxvf nginx-1.6.2.tar.gz -C /usr/local
cd /usr/local/nginx-1.6.2
添加ngx_cache_pureg模塊,之前加入 fastdfs 模塊
./configure --add-module=/usr/local/fast/ngx_catch_purge-2.3
make && make install
6.配置nginx 負載均衡和緩存 (173 174 節點配置一致) /usr/local/nginx/conf/nginx.conf
(1).設置緩存信息
(2).負載均衡 fdfs_group1 兩個服務對應 tracker 173,fdfs_group2 對應 tracker174
(3).設定服務,對外提供統一端口 8000 ,其中 173 174 服務配置參數完全相同
服務訪問 /group1/M00 則對應訪問 fdfs_group1 服務 對應上面圖片中 fdfs_group1 集群服務
服務訪問 /group2/M00 則對應訪問 fdfs_group2 服務 對應上面圖片中 fdfs_group2 集群服務
(4).添加創建緩存的使用文件夾 上面 3 中配置緩存路徑
mkdir -p /fastdfs/cache/nginx/proxy_cache
mkdir -p /fastdfs/cache/nginx/proxy_cache/tmp
(5).開放8000 端口, 修改 /etc/sysconfig/iptables 文件 添加 8000端口號
service iptables restart
(6).client 上傳文件 通過 8000端口進行訪問
73 上傳文件 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/xxxxx.file
通過 tracker ip:8000 訪問文件
http://192.168.1.173:8000/group1/M00/00/00/xxxxxx.file
73 代理 75 76 storage
73 上傳文件 /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/software/xxxxx.file
http://192.168.1.174:8000/group2/M00/00/00/xxxxxx.file
74 代理 77 78 storage
7.在 tracker (73 74) 安裝nginx后,可以對 group1 和 group2 進行訪問(反向代理),最后虛擬一個keepalived,虛擬出一個VIP對兩台tracker做高可用配置
nginx + keepalived ???學習
修改后需要把 nginx.conf 配置文件傳送到 帶有 keepalived 的節點上 (114 115)
114,115 兩節點代理 73 74 兩節點 修改配置文件后需要重啟 nginx,
/usr/local/nginx/sbin/nginx -s reload
在 73 上傳文件 通過 110 (115 114 代理)進行訪問
192.168.1.110/fastdfs/group1/M00/00/00/xxxx.file fastdfs 對應 上面配置 location
(可以將 173 174 結合keepalived 做出高可用 虛擬IP訪問)
8.關閉集群步驟