




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、、分布式系統(tǒng)介紹分布式文件系統(tǒng)的作用:1、超大數(shù)據(jù)存儲(chǔ);2、數(shù)據(jù)高可用(冗余備份);3、讀寫高性能;4、支持高并發(fā);5、海量數(shù)據(jù)計(jì)算目前的數(shù)據(jù)量越來越大,單臺(tái)服務(wù)器已經(jīng)無法滿足以上需求,因此分布式文 件系統(tǒng)就是解決此類問題。下面主要以輕量級(jí)分布式文件系統(tǒng) FastDFS來介紹。FastDFS是一個(gè)開源的 輕量級(jí)分布式文件系統(tǒng)。它解決了大數(shù)據(jù)量存儲(chǔ)和負(fù)載均衡等問題。 特別適合以 中小文件(建議范圍:4KB < V500MB)為載體的在線數(shù)據(jù)服務(wù)。FastDFS 架構(gòu):Client 一/Tracker 群一IIIIIIIIIIIIIII*ClientlClint2Clientnft=1Tra
2、ckcn Traclker2°Trakcern|_一丿I >I f fII TI '虹I t Storagl-liJ I1丨八T III f yI11*/I.I0'弋.StoragerZI 常嚴(yán)工、 /<4* /Storager1-2Stcrager2-2IIIIIIIItP TII-“ 丨IStoragern-1l ;J; | | ”片* SStoragernZFastDFS服務(wù)端有三個(gè)角色:跟蹤服務(wù)器( tracker server )、存儲(chǔ)服務(wù)器(storage server )、客戶端(die nt ):tracker server :跟蹤服務(wù)器,
3、主要做調(diào)度工作,起負(fù)載均衡的作用。在內(nèi)存中記錄集 群中所有存儲(chǔ)組和存儲(chǔ)服務(wù)器的狀態(tài)信息,是客戶端和數(shù)據(jù)服務(wù)器交互的樞紐。相比FS中的master更為精簡(jiǎn),不記錄文件索引信息,占用的內(nèi)存量很少。跟蹤器和存儲(chǔ)節(jié) 點(diǎn)都可以由一臺(tái)或多臺(tái)服務(wù)器構(gòu)成。跟蹤器和存儲(chǔ)節(jié)點(diǎn)中的服務(wù)器均可以隨時(shí)增加或下線而不會(huì)影響線上服務(wù)。其中跟蹤器中的所有服務(wù)器都是對(duì)等的,可以根據(jù)服務(wù)器的壓 力情況隨時(shí)增加或減少。storage server :存儲(chǔ)服務(wù)器(又稱:存儲(chǔ)節(jié)點(diǎn)或數(shù)據(jù)服務(wù)器),文件和文件屬性( eta data )都保存到存儲(chǔ)服務(wù)器上。Storage server 直接利用OS的文件系統(tǒng)調(diào)用管理Fa文件。存儲(chǔ)節(jié)點(diǎn)存儲(chǔ)
4、文件,完成文件管理的所有功能:存儲(chǔ)、同步和提供存取接口,stDFS同時(shí)對(duì)文件的metadata進(jìn)行管理。所謂文件的meta data就是文件的相關(guān)屬性, 以鍵值對(duì)(key value pair )方式表示,如:width=1024 ,其中的key為width ,value為1024。文件metadata是文件屬性列表,可以包含多個(gè)鍵值對(duì)。 為了支持大容量,存儲(chǔ)節(jié)點(diǎn)(服務(wù)器)采用了分卷(或分組)的組織方式。存儲(chǔ)系統(tǒng)由一個(gè)或多個(gè)卷組成,卷與卷之間的文件是相互獨(dú)立的,所有卷的文件容量累加就是整個(gè)存儲(chǔ)系統(tǒng)中的文件容量。一個(gè)卷可以由一臺(tái)或多臺(tái) 存儲(chǔ)服務(wù)器組成,一個(gè)卷下的存儲(chǔ)服務(wù)器中的文件都是相 同的,卷
5、中的多臺(tái)存儲(chǔ)服務(wù)器起到了 冗余備份和負(fù)載均衡的作用。在卷中增加服務(wù)器時(shí), 同步已有的文件由系統(tǒng)自動(dòng)完成,同步完成后,系統(tǒng)自動(dòng)將新增服務(wù)器切換到線上提供 服務(wù)。當(dāng)存儲(chǔ)空間不足或即將耗盡時(shí),可以動(dòng)態(tài)添加卷。只需要增加一臺(tái)或多臺(tái)服務(wù)器,并將它們配置為一個(gè)新的卷,這樣就擴(kuò)大了存儲(chǔ)系統(tǒng)的容量。TCP/IPclient :客戶端(不是必須的),作為業(yè)務(wù)請(qǐng)求的發(fā)起方,通過專有接口,使用協(xié)議與跟蹤器服務(wù)器或存儲(chǔ)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交互。使用FastDFS模塊內(nèi)置的文件上傳和下載,client可以配置在單獨(dú)的機(jī)器上,也可以在tracker或者storage上。client并不需要啟動(dòng)服務(wù),只是在發(fā)起業(yè)務(wù)時(shí),負(fù)責(zé)與tra
6、cker和stroage通信,完成文件上傳和下載的業(yè)務(wù)。FastDFS默認(rèn)的業(yè)務(wù)流程:上傳文件交互過程:1. client詢問tracker上傳到的storage,不需要附加參數(shù);2. tracker 返回一臺(tái)可用的storage ;3. client直接和storage 通訊完成文件上傳。FastDFS下載文件交互過程:1. client詢問tracker下載文件的storage,參數(shù)為文件標(biāo)識(shí)(卷名和文件名);2. tracker 返回一臺(tái)可用的storage ;3. client直接和storage通訊完成文件下載。II111IIInilc tonicnl an J(optioiul i
7、hie id hr.diu*lmg 営wiip mnne jsuI I tie msiiiie)I圖表1上傳交互流程I! nic id (in eluding jzioup niriK muJ hie iwnie) jMorjige rp (iddr ponIIIIIIIIIfile v<1 (iiiwiudiii y miip nurn nd file mrnejInie cnriicm I_iIIII11Ji3i j!iII rIIIIII圖表2下載交互流程FastDFS 與 Nginx http ServerFastDFS一般通過 目前 FastDFS 的 Client的業(yè)務(wù)流程:
8、FastDFS Client進(jìn)行文件數(shù)據(jù)的上傳下載等業(yè)務(wù)。 版本有 java,c#,Node.js 以及 c( FastDFS 內(nèi)置 客戶端),用來進(jìn)行業(yè)務(wù)的處理。FastDFS的分布式存儲(chǔ)的數(shù)據(jù),如果需要提供httP在線數(shù)據(jù)服務(wù),目前通常采用nginx和apache集成進(jìn)行。具 體的集成下面的部署說明會(huì)有介紹。圖表 3 FastDFS與Nginx集成一般情況下每臺(tái)Storage服務(wù)器都應(yīng)該部署一臺(tái)Nginx服務(wù)器,以提 供數(shù)據(jù)下載服務(wù)。在前端配置一臺(tái)負(fù)載均衡服務(wù)器器,將不同的請(qǐng)求分發(fā)到 不同的數(shù)據(jù)服務(wù)器上。、分布式文件系統(tǒng) FastDFS的部署搭建FastDFS系統(tǒng)還是有點(diǎn)繁瑣(對(duì)于不熟悉
9、Linux環(huán)境),搭建 FastDFS系統(tǒng)需要做以下準(zhǔn)備:硬件準(zhǔn)備:至少需要準(zhǔn)備三臺(tái)linux系統(tǒng)最好使用CentOS配置環(huán)境一臺(tái)Tracker 節(jié)點(diǎn)服務(wù)器,至少兩Storage節(jié)點(diǎn)服務(wù)器。Tracker192168,1,1/trackerStorageStorageStorage/f192,168,130Groupl_'_' - Grou plGroup2/storage/storage/storage圖表4典型FastDFS結(jié)構(gòu)安裝前需要準(zhǔn)備的軟件:1、putty遠(yuǎn)程控制軟件如果在自己機(jī)器上安裝linux虛擬機(jī),那么不需要下面這兩
10、款軟件。如 果使用公司的虛擬機(jī)那么需要安裝這款軟件以遠(yuǎn)程操作linux。這是一款可以在windows平臺(tái)使用遠(yuǎn)程登錄linux,執(zhí)行shell操作的 工具。使用界面如下:辭 roottPSe rverC;所有相關(guān)的軟件下載地址2、tigerVNC這是一款可視化操作linux平臺(tái)的簡(jiǎn)單好用遠(yuǎn)程控制平臺(tái)。在windows 端安裝 TigerVNC Viewer,在 linux 端安裝 TigerVNC Server,即可遠(yuǎn) 程可視化控制linux。windows 上安裝 tigervnc-1.3.1.exe。linux機(jī)器上安裝一般采用命令安裝(一般現(xiàn)在主流linux系統(tǒng)都有軟 件倉(cāng)庫,大部分常用
11、軟件都在軟件倉(cāng)庫,特別是知名開源軟件,使用 命令可以直接安裝,這點(diǎn)是與 win dows系統(tǒng)很大不同。),直接使用 命令:yum in stall tigerv ncyum in stall tigerv nc-server安裝過程中可能會(huì)提示丫/N, 律丫安裝完畢。命令即可啟動(dòng)服務(wù)。第一次啟動(dòng)vncserver會(huì)提示設(shè)置密碼,設(shè)置密碼即可啟動(dòng)。 測(cè)試過程可以關(guān)閉防火墻,也可以配置防火墻的過濾端口。暫時(shí)關(guān)閉防火墻的命令 :service ip tables stop使用 Vncserver3、安裝gccgcc是linux下c語言的編譯環(huán)境和工具。fastdfs使用c語言開發(fā), 網(wǎng)上提供的是源碼
12、包,需要自行編譯。這點(diǎn)大家以后在使用Linux的時(shí)候也要注意,linux下的軟件主要是開源社區(qū)提供的,有些軟件需要 下載后用戶編譯部署。安裝gcc也很簡(jiǎn)單一行命令:yum in stall gcc如果還需要C+編譯環(huán)境使用下面的命令(我們這次只需要gcc環(huán)境):yum in stall gcc gcc-c+ kern el-devel4、安裝GitGit是另外一種版本管理軟件。fastdfs代碼使用git托管的,因此需 要安裝此工具。安裝這個(gè)工具也很簡(jiǎn)單一行命令:yum in stall git5、fastdfs安裝需要準(zhǔn)備的軟件 libfastcom monFastDFS_v5.07.tar
13、.gz6、安裝 libfastcommon 命令行輸入:git clone等待libfastcommon 下載完畢,使用命令cd切換路徑路徑到libfastcommon路徑,命令行輸入如下命 令cd /libfastcommon./make.sh./make.sh in stall如果編譯生成成功,會(huì)在/usr/lib64,/usr/lib libfastcommon .so下分別生成但是FastDFS主程序設(shè)置的lib目錄是/usr/local/lib所以需要?jiǎng)?chuàng)建軟鏈接.n -S /usr/lib64/libfastcommon .so /usr/local/lib/libfastcommo
14、n .son -s /usr/lib64/libfastcom mon.so /usr/lib/libfastcom mon.sobase_ path=/tracker,目前我都采用的是默認(rèn)配置。n -s /usr/lib64/libfdfsclie nt.so /usr/local/lib/libfdfsclie nt.son -s /usr/lib64/libfdfsclie nt.so /usr/lib/libfdfsclie nt.so注:使用命令pwd查看當(dāng)前的路徑rootServers *- f pwd /rootIhome 11 roQt&Sezvexfi user# h
15、orae/uaeicd /home/user pwd&安裝 FastDFSFastDFS目前的源碼托管在 下載源碼,使用以下命令:sourceforge服務(wù)器上,可以從服務(wù)器上Wget下載完畢會(huì)提示"FastDFS_v5.07.tar.gz"已經(jīng)保存。這是壓縮包格式,使用一下命令解壓縮::ar -xzvf FastDFS v5.07.tar.gz解壓縮完畢,所有代碼會(huì)解壓縮到 FastDFS目錄下,切換當(dāng)前目錄到FastDFS,然后開始編譯并安裝:cd FastDFS./make.sh./make.sh in stall如果順利的話,至此FastDFS的安裝完成。然
16、后需要開始FastDFS的 配置。安裝完成后,一些可執(zhí)行文件會(huì)部署到 文件會(huì)部署到/etc/fdfs/目錄下。/usr/bin 目錄下,一些配置7、配置FastDFS的配置文件 不管是Tracker服務(wù)器,還是Storage 程部署。配置Tracker服務(wù),將當(dāng)前目錄切換到服務(wù)器都按照上面16的流/etc/fdfs目錄下,修改配置文件 tracker.conf.sample,一般情況下拷貝 tracker.conf.sample重命名為tracker.conf 。然后編輯tracker.conf.文件??截惷?cp tracker.conf.sampie tracker.conf可以在命令行
17、環(huán)境下編輯,也可以在通過VNC在可視化環(huán)境下編輯。Vim tracker.c onf可以根據(jù)需要配置修改里面的一些配置,比如停止服務(wù)采用命令:killall fdfs trackerd使用命令啟動(dòng)tracker服務(wù): fdfs trackerd /etc/fdfs/tracker.c onf配置Storage服務(wù),同樣是將當(dāng)前目錄切換到/etc/fdfs 目錄下,修 改配置文件 storage.conf.sample,拷貝重命名 storage.conf。Cp storage.c on f.sa mp le storage.c onf修改配置文件vim storage.c onf其中有些一些配
18、置,要做修改:base_ path=/home/y uqin g/fastdfs store_ pathO=/home/yuqi ng/fastdfs group_ name=gro up1/tracker_server=8:22122 tracker_server=9:22122 有幾臺(tái)服務(wù)器配置幾臺(tái)tracker_server 使用命令啟動(dòng)storage服務(wù): fdfs_storaged /etc/fdfs/storage.c onf 停止服務(wù)米用命令killall fdfs storaged配置Client服務(wù),同樣是將當(dāng)前目錄切換到/
19、etc/fdfs 目錄下,修改 配置文件 client.conf.sample,拷貝重命名 client.conf 。cp clie nt.c on f.sa mple clie nt.c onf修改配置文件:Vim clie nt.c onf主要需要修改的配置是tracker_server 的配置,修改tracker_server 配置為tracker_server=9:22122FastDFS的基礎(chǔ)安裝都基本完成。下面可以開始測(cè)試,下面可以使用 如下命令測(cè)試,上傳一個(gè)文件fdfs_upl oad_ fastdfs-nginx-module_v1.16.tar.gz
20、使用命令,可以查看當(dāng)前所有配置的服務(wù)器運(yùn)行狀態(tài):fdfs monitorclient.conf注:vim是Linux下經(jīng)典的文本編輯工具,這是一個(gè)基于鍵盤控制的 命令行環(huán)境的文本編輯工具,對(duì)于wi ndows下的開發(fā)人員可能初次接 觸會(huì)不太習(xí)慣。查看這個(gè)vim常用命令幫助8、集成 NginxNginx是用來提供http服務(wù),F(xiàn)astDFS集成Nginx可以為分布式存儲(chǔ) 數(shù)據(jù)提供http訪問服務(wù)。前面也已經(jīng)介紹過,一般在Storage節(jié)點(diǎn)服務(wù)上同時(shí)部署nginx服務(wù)。集成Nginx需要準(zhǔn)備的項(xiàng)目有以下幾個(gè): fastdfs-ngin x-modulep cre-developen sslNgi
21、nx-1.9.7首先使用wget下載fastdfs-nginx-module,下載地址和代碼如下:wget下載完成后使用命令解壓縮tar -xzvf fastdfs-ngin x-module_v1.16.tar.gz注意:有些需要調(diào)整文件"Vim fastdfs-nginx-module/src/config修改 CORE_INCS="$CORE_INCS /usr/local/include/fastdfs/usr/local/i nclude/fastcommo n/"為 CORE_INCS="$CORE_INCS/usr/i nclude/fas
22、tdfs /usr/i nclude/fastcom mon/"Nginx依賴以下兩個(gè)軟件um -y in stall p cre-develum -y in stall open ssl open ssl-devel從nginx官網(wǎng)下載Nginx,下載完成后,nginx需要編譯并部署 wget解壓縮nginxtar -xzvfngin x-1.9.7.tar.gz切換目錄到nginx目錄下cd nginx-1.9.7設(shè)置編譯參數(shù)./con figure-p refix=/usr/local/ngi nx-add-module=/etc/fdfs/fastdfs-ngin x-mod
23、ule/src使用一下命令編譯安裝makemake in stall配置 fastdfs-nginx-module:復(fù)制 fastdfs-nginx-module 源碼中的配置文件 mod_fastdfs.conf到/etc/fdfst;p /etc/fdfsetc/fdfs修改該配置文件group_ name=gro up1tracker_server=9:22122store_ path0=/home/yuqi ng/fastdfsbase_ path=/home/y uqin g/fastdfs復(fù)制 FastDFS的配置文件 http.conf,mime.types到 /etc/fdfs/bp /root/FastDFS/conf/http.conf /etc/fdfs pp /root/FastDFS/c on f/mime.t ypes /etc/fdfs配置Nginx:修改 nginx 的配置文
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 書發(fā)行代理合同范例
- 主播簽約團(tuán)隊(duì)合同范例
- 養(yǎng)魚塘出租合同范例
- 住建部 epc合同范例
- 共享產(chǎn)權(quán)房合同范例
- 共同經(jīng)營(yíng)協(xié)議合同范例
- 2025年甘露醇項(xiàng)目合作計(jì)劃書
- 游戲行業(yè)洞察與展望
- 營(yíng)養(yǎng)飲食與食品安全
- 腦梗死治療方案
- 2024年南信語文數(shù)學(xué)試卷(含答案)
- JGJ46-2024 建筑與市政工程施工現(xiàn)場(chǎng)臨時(shí)用電安全技術(shù)標(biāo)準(zhǔn)
- 2016-2023年江蘇電子信息職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年考點(diǎn)試題甄選合集含答案解析
- 8.6《林黛玉進(jìn)賈府》課本劇劇本
- 地理知識(shí)介紹課件
- 民航國(guó)內(nèi)航空匯編航路_3.1.8w系列航線
- 高數(shù)常微分方程-高階微分方程
- 竹里館ppt課件
- 【最新】中考?xì)v史專題復(fù)習(xí) 中外科技發(fā)展課件 新人教-新人教初中九年級(jí)全冊(cè)歷史課件
- 醫(yī)院卒中質(zhì)量控制考核方案
- 最新文字學(xué)試題(1)(共8頁)
評(píng)論
0/150
提交評(píng)論