FastDFS是一個開源的分布式文件系統。
場景功能包括:
文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件為載體的在線服務,如相冊網站、視頻網站等等。
FastDFS架構:
FastDFS服務端有兩個角色:跟蹤器(tracker)和存儲節點(storage)。跟蹤器主要做調度工作,在訪問上起負載均衡的作用。
跟蹤器和存儲節點都可以由一臺多臺服務器構成。跟蹤器和存儲節點中的服務器均可以隨時增加或下線而不會影響線上服務。其中跟蹤器中的所有服務器都是對等的,可以根據服務器的壓力情況隨時增加或減少。
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
設置安裝路徑(可自定義路徑)
創建路徑
exportDESTDIR=/hadoop/fastdfs/opt/fastdfs
查詢路徑echo$DESTDIR
解壓并進入libfastcommon-1.0.43目錄
執行./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設置文件配置路徑
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
執行編譯
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""
復制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
注意:此時需要移除為了先面編譯設置的變量DESTDIR,因為這個變量和nginx自帶某變量沖突,會導致nginx執行makeinstall是安裝路徑混亂
exportDESTDIR=""
再執行makeinstall
檢查nginx是否正常加載所有依賴
ldd/hadoop/fastdfs/opt/nginx-fdfs/sbin/nginx
復制fastdfs源碼中給的參考配置文件到fastdfs安裝目錄
cp./hadoop/fastdfs/soft/fastdfs-6.06/conf/*.conf/hadoop/fastdfs/opt/fastdfs/etc/fdfs/
創建啟動腳本目錄
mkdir/hadoop/fastdfs/bin
cp/hadoop/fastdfs/opt/fastdfs/etc/init.d/*/hadoop/fastdfs/bin
修改兩個啟動腳本中程序目錄和配置文件目錄
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為循環
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作用也正是負載均衡和調度
Storageserver作用是文件存儲,客戶端上傳的文件最終存儲在Storage服務上
vistorage.conf
group_name= group1 #組名,由storage服務器組成
network_timeout= 60
base_path= /hadoop/fastdfs/storage #日志路徑
store_path0= /hadoop/fastdfs/storepath0 #存儲目錄
tracker_server= 192.168.10.30:22122 #tracker服務器名稱
tracker_server= 192.168.10.40:22122
tracker_server= 192.168.10.50:22122
http.server_port= 8888 #http端口
注:storage_server在啟動時要注冊到tracker_server,
從而實現由tracker_server對其進行調度
解壓fastdfs-nginx-module-1.22.tar.gz
vi./fastdfs-nginx-module/src/mod_fastdfs.conf
connect_timeout=2 #連接超時時間
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 #存儲路徑
group_count= 2 #組數量
[group1] #組配置
group_name=group1
storage_server_port=23000 #存儲端口
store_path_count=1 #存儲路徑數
store_path0=/hadoop/fastdfs/storepath0 #存儲路徑
創建軟鏈接
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;
}
啟動順序(tracker必須先啟動)
./fdfs_trackerdstart|stop|restart
./fdfs_storaged start|stop|restart
nginx啟動
./sbin/nginx
進入/hadoop/fastdfs/opt/fastdfs/usr/bin目錄,上傳測試文件
./fdfs_test/hadoop/fastdfs/opt/fastdfs/etc/fdfs/client.conf upload/hadoop/fastdfs/341c904235fc6c73778bbb7da5d_p24_mk24.jpg
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129993.html
摘要:項目比較老舊,自己修改了一下,跑在上,用的和位系統,記錄下來,以后上傳圖片都可以用。是一個開源的輕量級分布式文件系統,功能包括文件存儲文件同步文件訪問文件上傳文件下載等。主要的有兩個角色和。 項目比較老舊,自己修改了一下,跑在mac上,用的IDEA和centos7 64位系統,記錄下來,以后上傳圖片都可以用。 使用場景:圖片上傳 如果我們把圖片全都放在上傳到webapp路徑下顯然是一種...
摘要:可以將稱為追蹤服務器或調度服務器。實際保存文件分為多個組,每個組之間保存的文件是不同的。虛擬磁盤路徑配置的虛擬路徑,與磁盤選項對應。數據兩級目錄服務器在每個虛擬磁盤路徑下創建的兩級目錄,用于存儲數據文件。1.什么是FastDFS FastDFS是用 c 語言編寫的一款開源的分布式文件系統。FastDFS 為互聯網量身定制, 充分考慮了冗余備份、負載均衡、線性擴容等機制,并注重高可用、高性能等...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20