本來使用3個節點部署fastdfs,其中1個tracker,2個storage(2個group)如果使用6個節點,2個tracker,4個storage(2個group)其中group中2個節點互爲主備。
一、環境準備
1. 安裝開發編譯環境,直接安裝組內所有軟件
#yum grouplist | more 查看組內軟件情況
#yum grouplist | grep Development 開發編譯環境
# yum groupinfo Development tools 開發環境工具詳情
#yum groupinstall "Development Tools" "Server platform Development" 一次性安裝
2. 並不需要這麼多組件,浪費資源,可以分步安裝
2.1 安裝gcc
#yum -y install make cmake gcc gcc-c++
2.2 安裝zip
#yum -y install zip unzip
2.3 安裝vim
#yum -y install vim-enhanced
2.4安裝性能事件通知庫
#yum -y install libevent
或下面wget方式
#wget --no-check-certificate http://www.monkey.org/~provos/libevent-1.2.tar.gz
#tar -zxvf libevent-1.2.tar.gz
#cd libevent-1.2
#./configure
#make & make install
2.5 安裝git
#yum -y install git
二. 安裝fastdfs
1 安裝libfastcommon
#git clone https://github.com/happyfish100/libfastcommon.git
#cd libfastcommon/
#./make.sh
#./make.sh install
2 安裝fastdfs
#git clone https://github.com/happyfish100/fastdfs.git
#cd fastdfs/
#./make.sh
#./make.sh install
3 配置
通過上述安裝,會自動生成配置到/etc/fdfs
3.1配置tracker,即追蹤節點1臺(若2臺,則同理配置一份)
# cd /etc/fdfs
#cp tracker.conf.sample tracker.conf
#vi tracker.conf
修改base_path與store_lookup
base_path修改爲/fastdfs/tracker
store_lookup修改爲0輪訓策略,默認爲2負載均衡策略
如果值爲1的話表明要始終向某個group進行上傳下載操作,這時下圖中的"store_group=group2"纔會起作用
創建tracker數據目錄並設置權限
#mkdir -p /fastdfs/tracker
#chmod 777 /fastdfs/*
啓動fastdfs tracker
#/etc/init.d/fdfs_trackerd start
啓動成功後,我們看到tracker文件夾下多了2個包
如果停止,使用/etc/init.d/fdfs_trackerd stop
3.2配置storage,即存儲節點2臺
# cd /etc/fdfs
#cp storage.conf.sample storage.conf
#vi storage.conf
修改如下配置:
group_name=group1
base_path=/fastdfs/storage
store_path_count=1
store_path0=/fastdfs/storage
tracker_server=10.39.46.34:22122
如果配置了多臺tracker_server,則增加一行
tracker_server=10.39.46.35:22122
另一臺機器把group_name修改爲group2
如果是4臺機器,則2個group1,2個group2
創建storage文件夾
#mkdir -p /fastdfs/storage
#chmod 777 /fastdfs/*
啓動fastdfs storage
#/etc/init.d/fdfs_storaged start
#cd /fastdfs/storage
#tail -f storaged.log 查看啓動日誌
三 配置dfs客戶端並測試
1. 配置客戶端連接
#cd /etc/fdfs
#cp client.conf.sample client.conf
# vim client.conf
修改客戶端配置:
base_path=/fastdfs/tracker
tracker_server=10.39.46.34:22122
如果是2臺tracker,則增加tracker_server=10.39.46.35:22122
2. 測試可用性
測試可用性要使用以下幾部分
指定要進行上傳文件操作:/usr/bin/fdfs_upload_file
指定要進行上傳文件操作使用的配置文件:/etc/fdfs/client.conf
指定要上傳的文件:filename.txt
#/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 123.txt
#/usr/bin/fdfs_upload_file /etc/fdfs/client.conf 444.log
通過下圖我們看到上傳文件後,返回一個dfs路徑,其中有group1與group2,代表配置文件中的2個分組
M00:代表磁盤目錄,如有多個磁盤,則爲M01,M02...等
00/00:代表磁盤上的2級目錄,每級從00-FF共256個,2級爲256*256個。
Ci...txt: 爲dfs重命名的文件名。
從上圖我們看到在目錄/fastdfs/storage/data/00/00下有個文件
那麼在33機器上有一個後綴爲log的文件,因爲開啓的是輪訓策略,所以會輪訓存儲。
四.配置nginx