



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄一fastdfs222二Fastdfs 文件的上傳和3三fastdfs 的配置5四Fastdfs 的相關(guān)問題10Fastdfsf 的功能Fastdfs 的原理.一fastdfsFastDFS 是一個(gè)開源的輕量級(jí)分布式文件系統(tǒng),它對(duì)文件進(jìn)行管理,功能包括:文件、文件同步、文件(文件上傳、文件)等,解決了大容量和負(fù)載均衡。特別適合以文件為載體的服務(wù),如相冊(cè)、等等。Fastdfsf 的功能1)FastDFS 主要解決了大容量的文件和高并發(fā),文件存取時(shí)實(shí)現(xiàn)了負(fù)載均衡。 ,支持2)FastDFS 實(shí)現(xiàn)了方式的 RAID,可以使用廉價(jià)的 IDE 硬盤進(jìn)行服務(wù)器擴(kuò)容。3)FastDFS 特別適合大中型使
2、用,用來資源文件(如:、文檔、音頻、等等。Fastdfs 的原理節(jié)點(diǎn)采用了分組(group)的方式 系統(tǒng)由一個(gè)或多個(gè) group 組成,group 與 group之間的文件是相互獨(dú)立的,所有 group 的文件容量累加就是整個(gè)系統(tǒng)中的文件容量。一個(gè) group 可以由一臺(tái)或多臺(tái)服務(wù)器組成,一個(gè) group 下的服務(wù)器中的文件都是相同的,group 中的多臺(tái)服務(wù)器起到了冗余備份和負(fù)載均衡的作用(一個(gè)組的容量為該組內(nèi)服務(wù)器容量最小的那個(gè),不同組的 Storage server 之間不會(huì)相互通信,同組內(nèi)的Storage server 之間會(huì)相互連接進(jìn)行文件同步)。在 group 中增加服務(wù)器時(shí),同步
3、已有的文件由系統(tǒng)自動(dòng)完成,同步完成后,系統(tǒng)自動(dòng)將新增服務(wù)器切換到線上提供服務(wù)。當(dāng)空間或即將耗盡時(shí),可以動(dòng)態(tài)添加 group。只需要增加一臺(tái)或多臺(tái)服務(wù)器,并將它們配置為一個(gè)新的 group,這樣就擴(kuò)大了系統(tǒng)的容量。FastDFS 只有兩個(gè)角色:Tracker server 和 Storage server。Tracker server 作為中心結(jié)點(diǎn),其主要作用是負(fù)載均衡和調(diào)度。Tracker server 在內(nèi)存中分組和 Storageserver 的狀態(tài)等信息,不文件索引信息,占用的內(nèi)存量很少。另外,客戶端(應(yīng)用)和 Storage server Tracker server 時(shí),Tracke
4、r server 掃描內(nèi)存中的分組和 Storageserver 信息,然后給出應(yīng)答。由此可以看出 Tracker server 非常輕量化,不會(huì)成為系統(tǒng)瓶頸。FastDFS 中的Storage server 在其他文件系統(tǒng)中通常稱作Trunk server或Data server。Storage server 直接利用 OS 的文件系統(tǒng)文件。FastDFS 不會(huì)對(duì)文件進(jìn)行分塊,客戶端上傳的文件和 Storage server 上的文件一一對(duì)應(yīng)(FastDFS 中的文件標(biāo)識(shí)分為兩個(gè)部分:組名和文件名,二者)。二Fastdfs 文件的上傳和上傳交互過程編輯cnt 詢問 tracker 上傳到的
5、storage,不需要附加參數(shù);tracker 返回一臺(tái)可用的 storage;3. cnt 直接和 storage 通訊完成文件上傳。Tracker 是一種特殊類型的服務(wù)器 ,一個(gè)在之間的通信協(xié)助使用 BitTorrent 協(xié)議 。在對(duì)等網(wǎng)絡(luò)文件的最終用戶計(jì)算機(jī)上共享的客戶端請(qǐng)求的文件,并駐留在對(duì)等體機(jī)器所需的文件的部分被發(fā)送到客戶端,然后重新組所需的文件的完整副本。 在“”服務(wù)器,其中的文件副本駐留在等機(jī),哪些是可在客戶端請(qǐng)求的時(shí)間,并幫助協(xié)調(diào)的文件的高效傳輸和重組。(storage)服務(wù)器是指為特定目標(biāo)而設(shè)計(jì),因此配置方式也不同。它可能是擁有一點(diǎn)額外的,也可能擁有很大的空間的服務(wù)器。交互
6、過程編輯cnt 詢問 tracker文件的 storage,參數(shù)為文件標(biāo)識(shí)(卷名和文件名);tracker 返回一臺(tái)可用的 storage;3. cnt 直接和 storage 通訊完成文件。三fastdfs 的配置FastDFS_V5.05 分布式安裝與使用環(huán)境: Centosx86_640.205 和 0.206 都為 tracker和storage05storage tracker06storage tracker0.205 和 0.206 安裝配置類似, 下面以一臺(tái)為例1, 安裝依賴包,添加 fastDFS 運(yùn)行用戶2,創(chuàng)建數(shù)據(jù)目錄3,安裝mon4, 安裝 Fastdfswget0Co
7、de/FastDFS%20Server%20with%20%20Exten%20Source%20Code%20V5.05/FastDFS_v5.05.tar.gz/downloadtar zxstDFS_v5.05.tar.gz & cd FastDFS./make.sh./make.sh install版本:monwget/happymon/archive/master.zip unzip master.zipcdmon-master/./make.sh./make.sh installmkdir -p /export/fastdfs/storage,tracker rootlocalho
8、st src# ll /export/fastdfs total 0drwxr-xr-x 2 root root 6 Dec 10 15:18 storage#Storage 目錄保存運(yùn)行日志及其 data 數(shù)據(jù)drwxr-xr-x 2 root root 6 Dec 10 15:17 tracker#tracker 目錄保存運(yùn)行日志yum install -y zlib zlib-devel pcre pcre-devel gcc gcc-c+ openssl op enssl-devel libevent libevent-devel perzipuseradd -s /sbin/nolo
9、gin fastdfs5,配置 tracker和storage配置文件,對(duì)應(yīng)修改6,安裝 nginx 和 fastdginx-module 模塊wget%20Code/fastdginx-module_v1.16.tar.gz/downloadtar zxstdginx-module_v1.16.tar.gz & tar zxf nginx-1.8.0.tar.gz #修改模塊中對(duì)應(yīng)的路徑,要不然模塊不能正確安裝加載cd fastdginx-module/srcvi conf#更改如下, 去掉 local,并指定 lib64(64 系統(tǒng)) CORE_INCS=$CORE_INCS /usr/i
10、nclude/fastdfs /umon/ CORE_LIBS=$CORE_LIBS -L/usr/lib64mon -lfdfscntvi storage.conf group_name=group1 base_path=/export/fastdfs/storagestore_path0=/export/fastdfs/storage tracker_server=05:22122 tracker_server=06:22122 http.server_port=80vi tracker.conf base_path=/export/fastdfs/trackervi mod_fastdf
11、s.conf group_name=group1 base_path=/export/fastdfs/storage store_path0=/export/fastdfs/storage tracker_server=05:22122 tracker_server=06:22122url_have_group_name = true#是 true 不是 turevi cnt.conf tracker_server=05:22122 tracker_server=06:22122cp pa conf/*.conf /etc/fdfs/ cd /etc/fdfs/rm -rf *.slen -R
12、 fastdfs: /export/fastdfs7, 配置 nginxserver listen 80;server_name 05; root /w;index index.html index.htm; location / if (!-e $request_filename) rewrite (.*)$ /index.html last;location /group1/M00 root /export/fastdfs/storage/data/; ngx_fastdfs_module;location .*.(gif|jpg|jpeg|png|bmp|swf|js)$ #fastcg
13、i_cache cache_one;#nginx.conf 開啟 cache 才行,要不然啟動(dòng)報(bào)錯(cuò)fastcgi_cache_valid 200 10m;fastcgi_cache_valid 304 3m;fastcgi_cache_valid 301 302 1h; fastcgi_cache_valid any 1m; fastcgi_cache_min_uses 1;fastcgi_cache_use_stale error timeout invalid_header http_500;fastcgi_cache_key $host$request_uri; acs_log off;
14、ulimit -SHn 102400useradd -s /sbin/nologin www cd nginx-1.8.0/configure -user=www -group=www -add-module=./fastdginx-module/src/-prefix=/usr/local/nginx -with-http_stub_sus_module -with-http_ssl_mo dule -with-http_realip_modulemakemake install8,206的配置一樣,nginx 對(duì)應(yīng)的 ip 為 206,啟動(dòng) nginx 和 fastdfs9,測(cè)試roott
15、est-1 # fdfs_test /etc/fdfs/cnt.conf upload test.html This is FastDFS cnt test program v5.05Copyright (C) 2008, Happy Fish / YuQingFastDFS may be copied only under the terms of the GNU General Public License V3, whiay be foundhe FastDFS source kit.Please visit the FastDFS Home Page for more detail.r
16、oottest-1 vhost# /etc/init.d/fdfs_storaged start Starting FastDFS storage server:roottest-1 vhost# /etc/init.d/fdfs_trackerd start Starting FastDFS tracker server:roottest-1 vhost#roottest-1 vhost# /etc/init.d/nginx -t ngx_http_fastdfs_set=8985nginx: the configuration file /usr/local/nginx/conf/ngin
17、x.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.confsuc sfulroottest-1 vhost# /etc/init.d/nginx -s reload ngx_http_fastdfs_set=8986roottest-1 vhost# nets-npl |grep -E nginx|fdfstcp00 :221:*LISTEN8972/fdfs_track erdtcp00 :80:*LISTEN7561/nginxtcp00 :23000:*LIST
18、EN8679/fdfs_stora gedacs_log off;2015-06-14 02:46:06 DEBUG - base_path=/tmp, connect_timeout=30, network_timeout=60, tracker_server_count=1, ey length=0, use_connection_pool=0,use_storage_id=0, storage server idanti_steal_token=0, anti_steal_secret_k g_connection_pool_max_idle_time=3600s,count: 0tra
19、cker_query_storage_store_list_without_group:server 1. group_name=, ip_addr=05, port=23000 server 2. group_name=, ip_addr=06, port=23000group_name=group1, ip_addr=06, port=23000 storage_upload_by_filenamegroup_name=group1, remote_filename=M00/00/00/wKgAzlV8em6Af8qBAAAADxtaRO466.htm lsource ip address
20、: 06file file fileextimest=2015-06-14 02:46:06size=15 crc32=458900718le file url:DxtaRO466.html storage_upload_slave_by_filenamegroup_name=group1, remote_filename=M00/00/00/wKgAzlV8em6Af8qBAAAADxtaRO466_big.htmlsource ip address: 06file file fileextimest=2015-06-14 02:46:06size=15 crc32=458900718le
21、file url:DxtaRO466_big.html四Fastdfs 的相關(guān)問題1. FastDFS 適用的場(chǎng)景以及不適用的場(chǎng)景?FastDFS 是為互聯(lián)網(wǎng)應(yīng)用量身定做的一套分布式文件系統(tǒng),非常適合用來用戶圖片、文檔等文件。對(duì)于互聯(lián)網(wǎng)應(yīng)用,和其他分布式文件系統(tǒng)相比,優(yōu)勢(shì)非常明顯。具體情況大家可以看相關(guān)的介紹文檔,包括 FastDFS 介紹 PPT 等等。出于簡(jiǎn)潔考慮,F(xiàn)astDFS 沒有對(duì)文件做分塊,因此不太適合分布式計(jì)算場(chǎng)景。2. FastDFS 需要的編譯和運(yùn)行環(huán)境是怎樣的?FastDFS Server 僅支持 unix 系統(tǒng),在 Linux 和 FreeBSD 測(cè)試通過。在 Solar
22、is 系統(tǒng)下網(wǎng)絡(luò)通信方面有些問題。編譯需要的其他庫(kù)文件有 pthread 和 libevent。pthread 使用系統(tǒng)自帶的即可。對(duì) libevent 的版本要求為 1.4.x,建議使用的 stable 版本,如 1.4.14b。注意,千萬不要使用 libevent 2.0 非 stable 版本。測(cè)試了一下,libevent 2.0.10 是可以正常工作的。在 64 位系統(tǒng)下,可能需要自己在/usr/lib64 下創(chuàng)建 libevent.so 的符號(hào)ln -s /usr/lib/libevent.so /usr/lib64/libevent.so。比如:在 ubuntu 11 及后續(xù)版本,
23、可能會(huì)出現(xiàn)找不到動(dòng)態(tài)庫(kù) pthread 庫(kù),解決方法參見:3. 有人在生產(chǎn)環(huán)境中使用 FastDFS 嗎?是肯定的。據(jù)我所知,至少有 20 家公司在使用 FastDFS,其中有好幾家是做網(wǎng)盤的公司。其中量最大的一家,集群中g(shù)roup 數(shù)有 200 個(gè),服務(wù)器超過 200 臺(tái),容量達(dá)到 3PB,文件數(shù)近 1 億,Group 持續(xù)增長(zhǎng)中。4. fdfs_test 和 fdfs_test1 是做什么用的?這兩個(gè)是 FastDFS 自帶的測(cè)試程序,會(huì)對(duì)一個(gè)文件上傳兩次,分別作為主文件和從文件。返回的文件 ID 也是兩個(gè)。并且會(huì)上傳文件附加屬性,storage server 上會(huì)生成 4 個(gè)文件。這兩個(gè)
24、程序僅用于測(cè)試目的,請(qǐng)不要用作實(shí)際用途。V2.05 提供了比較正式的三個(gè)小工具:上傳文件:/usr/local/bin/fdfs_upload_file 文 件 : /usr/local/bin/fdfs_download_file local_filename刪除文件:/usr/local/bin/fdfs_delete_file 5.主從文件?主從文件是指文件 ID 有關(guān)聯(lián)的文件,一個(gè)主文件可以對(duì)應(yīng)多個(gè)從文件。主文件 ID = 主文件名 + 主文件擴(kuò)展名從文件 ID = 主文件名 + 從文件后綴名 + 從文件擴(kuò)展名使用主從文件的一個(gè)典型例子:以或多張縮略圖。為例,主文件為原始,從文件為該的
25、一張F(tuán)astDFS 中的主從文件只是在文件 ID 上有聯(lián)系。FastDFS server 端沒有關(guān)系,因此刪除主文件,F(xiàn)astDFS 不會(huì)自動(dòng)刪除從文件。刪除主文件后,從文件的級(jí)聯(lián)刪除,需要由應(yīng)用端來實(shí)現(xiàn)。主文件及其從文件均存放到同一個(gè) group 中。主從文件的生成順序:1)先上傳主文件(如原文件),得到主文件 ID主從文件對(duì)應(yīng)2)然后上傳從文件(如縮略圖),指定主文件 ID 和從文件后綴名(當(dāng)然還可以同時(shí)指定從文件擴(kuò)展名),得到從文件 ID。6. 如何刪除無效的 storage server?可以使用 fdfs_monitor 來刪除。命令行如下:/usr/local/bin/fdfs_m
26、onitor delete 例如:/usr/local/bin/fdfs_monitor /etc/fdfs/cnt.conf delete group1 00注意:如果被刪除的 storage server 的狀態(tài)是 ACTIVE,也就是該 storage server 還上服務(wù)的情況下,是無法刪除掉的。7. FastDFS 擴(kuò)展模塊升級(jí)到 V1.06 及以上版本的注意事項(xiàng)apache 和 nginx 擴(kuò) 展 模 塊 版 本 v1.06 及 以 上 版 本 , 需 要 在 配 置 文 件/etc/fdfs/fastdfs_mod.conf 中設(shè)置 storage server 的一個(gè)示例如下所示:store_path_count=1store_path0=/home/yuqing/fastdfs路徑信息。store_path_count 和 store_path#均需要正確設(shè)置,必須和 storage.conf 中的相應(yīng)配置完全一致,否則將導(dǎo)致文件不能正確!8. nginx 和 apache 擴(kuò)展模塊與 FastDFS server 版本對(duì)應(yīng)關(guān)系擴(kuò)展模塊 1.05: 針對(duì) FastDFs server v2.x,要求 server 版本大于等于 v2.09擴(kuò)展模塊 1.07 及以上版本: 針對(duì) FastDFs server v3.x9. FastDFS
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 專題4.4 正弦定理和余弦定理及其應(yīng)用(原卷版)-2024年高考數(shù)學(xué)一輪復(fù)習(xí)精講精練寶典(新高考專用)
- 拉桿式雨棚施工方案
- 燃?xì)馔茝V知識(shí)培訓(xùn)課件
- 2024年海南省中考滿分作文《點(diǎn)亮勤奮這盞燈》
- 農(nóng)村房間流轉(zhuǎn)合同范例
- 公司設(shè)備購(gòu)貨合同范例
- 水利行業(yè)保安工作總結(jié)計(jì)劃
- 跨境電商倉(cāng)儲(chǔ)管理的經(jīng)驗(yàn)與反思計(jì)劃
- 第二章 第一節(jié) 二 緯線與緯度 經(jīng)線與經(jīng)度教學(xué)設(shè)計(jì)-2024-2025學(xué)年湘教版初中地理七年級(jí)上冊(cè)
- 八年級(jí)地理下冊(cè) 6.2 白山黑水 東北三省教學(xué)實(shí)錄 (新版)新人教版
- 三年級(jí)下冊(cè)口算天天100題(A4打印版)
- 2021年大唐集團(tuán)招聘筆試試題及答案
- DBJ53/T-39-2020 云南省民用建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)
- 2023年山東春季高考數(shù)學(xué)試題
- 初中 初一 勞動(dòng)教育《舉辦一次家庭聚會(huì)》教學(xué)設(shè)計(jì)
- 人教版六年級(jí)上冊(cè)數(shù)學(xué)第六單元測(cè)試卷(百分?jǐn)?shù)(一))
- 《基礎(chǔ)英語(yǔ)》課件 Unit 1 Thinking as a Hobby
- 雅思大作文資料_十大類題材_解析詳細(xì)_應(yīng)有盡有(最好全部打印后看_非常全)
- 小學(xué)綜合實(shí)踐食品添加劑
- 電氣消防設(shè)計(jì)說明專篇
- GCP知識(shí)考核試題與答案
評(píng)論
0/150
提交評(píng)論