FastDFS是一個(gè)開源的分布式文件系統(tǒng)。
場(chǎng)景功能包括:
文件存儲(chǔ)、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲(chǔ)和負(fù)載均衡的問題。特別適合以文件為載體的在線服務(wù),如相冊(cè)網(wǎng)站、視頻網(wǎng)站等等。
FastDFS架構(gòu):
FastDFS服務(wù)端有兩個(gè)角色:跟蹤器(tracker)和存儲(chǔ)節(jié)點(diǎn)(storage)。跟蹤器主要做調(diào)度工作,在訪問上起負(fù)載均衡的作用。
跟蹤器和存儲(chǔ)節(jié)點(diǎn)都可以由一臺(tái)多臺(tái)服務(wù)器構(gòu)成。跟蹤器和存儲(chǔ)節(jié)點(diǎn)中的服務(wù)器均可以隨時(shí)增加或下線而不會(huì)影響線上服務(wù)。其中跟蹤器中的所有服務(wù)器都是對(duì)等的,可以根據(jù)服務(wù)器的壓力情況隨時(shí)增加或減少。
fastdfs-6.06.tar.gz
libfastcommon-1.0.43.tar.gz
fastdfs-nginx-module-1.22.tar.gz
nginx-1.16.1.tar.gz
Yuminstall gcc gcc-c++ make cmake automake autoconf libtool pcrepcre-devel pcre* zlib zlib-devel openssl openssl-devel libeventlibevent-devel perl perl-devel unzip zip net-tools
設(shè)置安裝路徑(可自定義路徑)
創(chuàng)建路徑
exportDESTDIR=/hadoop/fastdfs/opt/fastdfs
查詢路徑echo$DESTDIR
解壓并進(jìn)入libfastcommon-1.0.43目錄
執(zhí)行./make.sh&& make install
解壓fastdfs-6.06.tar.gz安裝包
修改make.sh
cd/hadoop/fastdfs/soft/fastdfs-6.06
vimake.sh
LIBS="-Wl,-rpath=/hadoop/fastdfs/opt/fastdfs/usr/lib64"#lib安裝路徑
修改TARGET_CONF_PATH設(shè)置文件配置路徑
if[ ! -d $TARGET_CONF_PATH ]; then
mkdir -p $TARGET_CONF_PATH
修改trackerMakefile.in文件
INC_PATH= -I../common -I${DESTDIR}/usr/include/fastcommon
LIB_PATH =$(LIBS) -L${DESTDIR}/usr/lib64 -lfastcommon
修改storageMakefile.in文件
INC_PATH= -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client-I${DESTDIR}/usr/include/fastcommon
LIB_PATH = $(LIBS)-L${DESTDIR}/usr/lib64 -lfastcommon
修改clientMakefile.in文件
INC_PATH= -I../common -I../tracker-I${DESTDIR}/usr/include/fastcommon
LIB_PATH = $(LIBS)-L${DESTDIR}/usr/lib64 -lfastcommon
執(zhí)行編譯
cd/hadoop/fastdfs/soft/fastdfs-6.06/
./make.sh&& make.shinstall
解壓安裝包
tarzxvf fastdfs-nginx-module-1.22.tar.gz
修改fastdfs-nginx-module編譯配置
vifastdfs-nginx-module-1.22/src/config
ngx_module_incs="${DESTDIR}/usr/include${DESTDIR}/usr/include/fastcommon"
CORE_INCS="$CORE_INCS${DESTDIR}/usr/include ${DESTDIR}/usr/include/fastcommon"
修改MOD_CONF_FILENAME文件路徑名稱
-DFDFS_MOD_CONF_FILENAME="/hadoop/fastdfs/opt/fastdfs/etc/fdfs/mod_fastdfs.conf""
復(fù)制fastdfs-nginx-module配置文件到fastdfs存放配置文件的目錄
cp/hadoop/fastdfs/soft/fastdfs-nginx-module-1.22/src/mod_fastdfs.conf/hadoop/fastdfs/opt/fastdfs/etc/fdfs/
cd/hadoop/fastdfs/soft/nginx-1.16.1
./configure--prefix=/hadoop/fastdfs/opt/nginx-fdfs--add-module=/hadoop/fastdfs/soft/fastdfs-nginx-module-1.22/src--with-http_ssl_module --with-ld-opt="-L/hadoop/fastdfs/opt/fastdfs/usr/lib-Wl,-rpath=/hadoop/fastdfs/opt/fastdfs/usr/lib64"
;make
注意:此時(shí)需要移除為了先面編譯設(shè)置的變量DESTDIR,因?yàn)檫@個(gè)變量和nginx自帶某變量沖突,會(huì)導(dǎo)致nginx執(zhí)行makeinstall是安裝路徑混亂
exportDESTDIR=""
再執(zhí)行makeinstall
檢查nginx是否正常加載所有依賴
ldd/hadoop/fastdfs/opt/nginx-fdfs/sbin/nginx
復(fù)制fastdfs源碼中給的參考配置文件到fastdfs安裝目錄
cp./hadoop/fastdfs/soft/fastdfs-6.06/conf/*.conf/hadoop/fastdfs/opt/fastdfs/etc/fdfs/
創(chuàng)建啟動(dòng)腳本目錄
mkdir/hadoop/fastdfs/bin
cp/hadoop/fastdfs/opt/fastdfs/etc/init.d/*/hadoop/fastdfs/bin
修改兩個(gè)啟動(dòng)腳本中程序目錄和配置文件目錄
vi/hadoop/fastdfs/bin/fdfs_trackerd
PRG=/hadoop/fastdfs/opt/fastdfs/usr/bin/fdfs_trackerd
CONF=/hadoop/fastdfs/opt/fastdfs/etc/fdfs/tracker.conf
vi/home/fastdfs/bin/fdfs_storaged
PRG=/hadoop/fastdfs/opt/fastdfs/usr/bin/fdfs_storaged
CONF=/hadoop/fastdfs/opt/fastdfs/etc/fdfs/storage.conf
編輯tracker.conf
store_lookup=0 #選擇上傳文件的組的方法,,0為循環(huán)
base_path= /hadoop/fastdfs/tracker #tracker日志路徑
http.server_port= 8090 #http端口
base_path= /hadoop/fastdfs/client #日志路徑
tracker_server= 192.168.10.30:22122 #tracker地址
tracker_server= 192.168.10.40:22122
tracker_server= 192.168.10.50:22122
注:
Trackerserver作用也正是負(fù)載均衡和調(diào)度
Storageserver作用是文件存儲(chǔ),客戶端上傳的文件最終存儲(chǔ)在Storage服務(wù)上
vistorage.conf
group_name= group1 #組名,由storage服務(wù)器組成
network_timeout= 60
base_path= /hadoop/fastdfs/storage #日志路徑
store_path0= /hadoop/fastdfs/storepath0 #存儲(chǔ)目錄
tracker_server= 192.168.10.30:22122 #tracker服務(wù)器名稱
tracker_server= 192.168.10.40:22122
tracker_server= 192.168.10.50:22122
http.server_port= 8888 #http端口
注:storage_server在啟動(dòng)時(shí)要注冊(cè)到tracker_server,
從而實(shí)現(xiàn)由tracker_server對(duì)其進(jìn)行調(diào)度
解壓fastdfs-nginx-module-1.22.tar.gz
vi./fastdfs-nginx-module/src/mod_fastdfs.conf
connect_timeout=2 #連接超時(shí)時(shí)間
group_name=group1 #storage組名
tracker_server=192.168.10.30:22122
tracker_server=192.168.10.40:22122
tracker_server=192.168.10.50:22122
url_have_group_name= true
store_path0=/hadoop/fastdfs/storepath0 #存儲(chǔ)路徑
group_count= 2 #組數(shù)量
[group1] #組配置
group_name=group1
storage_server_port=23000 #存儲(chǔ)端口
store_path_count=1 #存儲(chǔ)路徑數(shù)
store_path0=/hadoop/fastdfs/storepath0 #存儲(chǔ)路徑
創(chuàng)建軟鏈接
ln-s /hadoop/fastdfs/storepath0/data/hadoop/fastdfs/storepath0/data/M00
vimnginx.conf
listen 8090;
server_name localhost;
location ~/group([0-9])/M00 {
ngx_fastdfs_module;
}
啟動(dòng)順序(tracker必須先啟動(dòng))
./fdfs_trackerdstart|stop|restart
./fdfs_storaged start|stop|restart
nginx啟動(dòng)
./sbin/nginx
進(jìn)入/hadoop/fastdfs/opt/fastdfs/usr/bin目錄,上傳測(cè)試文件
./fdfs_test/hadoop/fastdfs/opt/fastdfs/etc/fdfs/client.conf upload/hadoop/fastdfs/341c904235fc6c73778bbb7da5d_p24_mk24.jpg
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/129993.html
摘要:優(yōu)點(diǎn)開發(fā)成本低,可以配置加速網(wǎng)絡(luò)三分布式文件系統(tǒng)方案常見的分布式文件系統(tǒng)有,等。它們都不是系統(tǒng)級(jí)的分布式文件系統(tǒng),而是應(yīng)用級(jí)的分布式文件存儲(chǔ)服務(wù)。 一、小應(yīng)用存儲(chǔ)方案 在開發(fā)中上傳文件存儲(chǔ)是個(gè)問題,而一般小應(yīng)用開發(fā)會(huì)選擇服務(wù)器本地目錄做為存儲(chǔ)地址,通過保存文件的相對(duì)路徑來獲取文件,在應(yīng)用不要求高可用的情況下這是一種普遍的方案。 問題: 在每次更新Java版本時(shí),都需要將文件目錄做一次備...
摘要:優(yōu)點(diǎn)開發(fā)成本低,可以配置加速網(wǎng)絡(luò)三分布式文件系統(tǒng)方案常見的分布式文件系統(tǒng)有,等。它們都不是系統(tǒng)級(jí)的分布式文件系統(tǒng),而是應(yīng)用級(jí)的分布式文件存儲(chǔ)服務(wù)。 一、小應(yīng)用存儲(chǔ)方案 在開發(fā)中上傳文件存儲(chǔ)是個(gè)問題,而一般小應(yīng)用開發(fā)會(huì)選擇服務(wù)器本地目錄做為存儲(chǔ)地址,通過保存文件的相對(duì)路徑來獲取文件,在應(yīng)用不要求高可用的情況下這是一種普遍的方案。 問題: 在每次更新Java版本時(shí),都需要將文件目錄做一次備...
摘要:項(xiàng)目比較老舊,自己修改了一下,跑在上,用的和位系統(tǒng),記錄下來,以后上傳圖片都可以用。是一個(gè)開源的輕量級(jí)分布式文件系統(tǒng),功能包括文件存儲(chǔ)文件同步文件訪問文件上傳文件下載等。主要的有兩個(gè)角色和。 項(xiàng)目比較老舊,自己修改了一下,跑在mac上,用的IDEA和centos7 64位系統(tǒng),記錄下來,以后上傳圖片都可以用。 使用場(chǎng)景:圖片上傳 如果我們把圖片全都放在上傳到webapp路徑下顯然是一種...
摘要:可以將稱為追蹤服務(wù)器或調(diào)度服務(wù)器。實(shí)際保存文件分為多個(gè)組,每個(gè)組之間保存的文件是不同的。虛擬磁盤路徑配置的虛擬路徑,與磁盤選項(xiàng)對(duì)應(yīng)。數(shù)據(jù)兩級(jí)目錄服務(wù)器在每個(gè)虛擬磁盤路徑下創(chuàng)建的兩級(jí)目錄,用于存儲(chǔ)數(shù)據(jù)文件。1.什么是FastDFS FastDFS是用 c 語言編寫的一款開源的分布式文件系統(tǒng)。FastDFS 為互聯(lián)網(wǎng)量身定制, 充分考慮了冗余備份、負(fù)載均衡、線性擴(kuò)容等機(jī)制,并注重高可用、高性能等...
摘要:可以將稱為追蹤服務(wù)器或調(diào)度服務(wù)器。實(shí)際保存文件分為多個(gè)組,每個(gè)組之間保存的文件是不同的。文件索引信息包括組名,虛擬磁盤路徑,數(shù)據(jù)兩級(jí)目錄,文件名。虛擬磁盤路徑配置的虛擬路徑,與磁盤選項(xiàng)對(duì)應(yīng)。 分布式圖片服務(wù)器FastDFS 1 什么是FastDFS FastDFS 是用 c 語言編寫的一款開源的分布式文件系統(tǒng)。FastDFS 為互聯(lián)網(wǎng)量身定制, 充分考慮了冗余備份、負(fù)載均衡、線性擴(kuò)容等...
閱讀 1493·2023-01-11 13:20
閱讀 1852·2023-01-11 13:20
閱讀 1290·2023-01-11 13:20
閱讀 2041·2023-01-11 13:20
閱讀 4243·2023-01-11 13:20
閱讀 2955·2023-01-11 13:20
閱讀 1583·2023-01-11 13:20
閱讀 3857·2023-01-11 13:20