java分布式商城項(xiàng)目環(huán)境搭建5-CentOS7.6-搭建分布式文件系統(tǒng) FastDFS

FastDFS簡介

FastDFS 是一個(gè)開源的高性能分布式文件系統(tǒng)(DFS)熙暴。它的主要功能包括:文件存儲(chǔ),文件同步和文件訪問慌盯,以及高容量和負(fù)載平衡周霉。主要解決了海量數(shù)據(jù)存儲(chǔ)問題,特別適合以中小文件(建議范圍:4KB < file size <500MB)為載體的在線服務(wù)亚皂。
FastDFS 系統(tǒng)有三個(gè)角色:跟蹤服務(wù)器(Tracker Server)俱箱、存儲(chǔ)服務(wù)器(Storage Server)和客
戶端(Client)。
Tracker Server:跟蹤服務(wù)器灭必,主要做調(diào)度工作狞谱,起到均衡的作用;負(fù)責(zé)管理所有的 storage server 和 group禁漓,每個(gè) storage 在啟動(dòng)后會(huì)連接 Tracker跟衅,告知自己所屬 group 等信息,并保持周期性心跳播歼。
Storage Server:存儲(chǔ)服務(wù)器伶跷,主要提供容量和備份服務(wù);以 group 為單位荚恶,每個(gè) group內(nèi)可以有多臺(tái) storage server撩穿,數(shù)據(jù)互為備份。
Client:客戶端谒撼,上傳下載數(shù)據(jù)的服務(wù)器食寡,也就是我們自己的項(xiàng)目所部署在的服務(wù)器。
這里我們直接進(jìn)行安裝部署廓潜,具體的關(guān)于FastDFS分布式文件系統(tǒng)的存儲(chǔ)策略抵皱、上傳過程、文件同步等知識(shí)辩蛋,這里就不進(jìn)行具體介紹了

FastDFS安裝

1.下載安裝 libfastcommon

1呻畸、下載 libfastcommon
進(jìn)入下載目錄/root/Download

# cd /root/Download

下載 libfastcommon

# wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
libfastcommon壓縮包

2、解壓
解壓

 # tar -zxvf V1.0.7.tar.gz

進(jìn)入到解壓的目錄

# cd libfastcommon-1 0 7
解壓后的libfastcommon

3悼院、 編譯安裝
編譯

# ./make.sh

安裝

# ./make.sh install
2.下載安裝 FastDFS

1伤为、 下載 FastDFS
進(jìn)入下載目錄:

# cd /root/Download

下載 FastDFS

#wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz

2、 解壓
解壓

# tar -zxvf V5.05.tar.gz

進(jìn)入到解壓的目錄

# cd fastdfs-5.05

3、 編譯安裝
編譯

# ./make.sh

安裝

# ./make.sh install

配置 FastDFS 環(huán)境

1 基礎(chǔ)配置

libfastcommon.so 安裝到了/usr/lib64/libfastcommon.so绞愚, 但是 FastDFS 主程序設(shè)置的
lib 目錄是/usr/local/lib叙甸, 所以需要?jiǎng)?chuàng)建軟鏈接。

# ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
# ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
# ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
# ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

FastDFS 服務(wù)腳本設(shè)置的 bin 目錄是 /usr/local/bin位衩, 但實(shí)際命令安裝在 /usr/bin/ 下裆蒸。
需要建立 /usr/bin 到 /usr/local/bin 的軟鏈接

# ln -s /usr/bin/fdfs_trackerd /usr/local/bin
# ln -s /usr/bin/fdfs_storaged /usr/local/bin
# ln -s /usr/bin/stop.sh /usr/local/bin
# ln -s /usr/bin/restart.sh /usr/local/bin
3.配置 FastDFS 跟蹤器(Tracker)

1、 進(jìn)入 /etc/fdfs糖驴, 復(fù)制 FastDFS 跟蹤器樣例配置文件 tracker.conf.sample僚祷, 并重命名為
tracker.conf。
在/etc/fdfs 目錄中贮缕, 有三個(gè)配置文件(client.conf.sample辙谜; storage.conf.sample;
tracker.conf.sample) 這三個(gè)配置文件是作者給出的配置示例文件跷睦。 示例文件不要去動(dòng)它筷弦, 我
們復(fù)制一個(gè)示例文件來進(jìn)行配置肋演。

# cd /etc/fdfs
# cp tracker.conf.sample tracker.conf
# vim tracker.conf

編輯 tracker.conf 抑诸, 標(biāo)紅的需要修改下, 其它的默認(rèn)即可爹殊。

# 配置文件是否不生效蜕乡, false 為生效
disabled=false
# 提供服務(wù)的端口
port=22122
# Tracker 數(shù)據(jù)和日志目錄地址(根目錄必須存在,子目錄會(huì)自動(dòng)創(chuàng)建)
base_path=/home/fastdfs/tracker
# HTTP 服務(wù)端口
http.server_port=80

創(chuàng)建 tracker 基礎(chǔ)數(shù)據(jù)目錄, 即 base_path 對(duì)應(yīng)的目錄

# mkdir -p /home/fastdfs/tracker

啟動(dòng) Tracker
啟動(dòng)命令:

# service fdfs_trackerd start

關(guān)閉命令:

# service fdfs_trackerd stop

啟動(dòng) FastDFS Tracker 后梗夸, 可以通過以下命令來查看 Tracker 是否啟動(dòng)成功:

# netstat -tupln
啟動(dòng)成功

安裝成功

配置 FastDFS 存儲(chǔ) (Storage)

1层玲、 進(jìn)入 /etc/fdfs 目錄, 復(fù)制 FastDFS 存儲(chǔ)器樣例配置文件 storage.conf.sample反症, 并重命名
為 storage.conf

# cd /etc/fdfs
# cp storage.conf.sample storage.conf
# vim storage.conf

2辛块、 編輯 storage.conf,

# 配置文件是否不生效铅碍, false 為生效
disabled=false
# 指定此 storage server 所在 組(卷)
group_name=group1
# storage server 服務(wù)端口
port=23000
# 心跳間隔時(shí)間润绵, 單位為秒 (這里是指主動(dòng)向 tracker server 發(fā)送心跳)
heart_beat_interval=30
# Storage 數(shù)據(jù)和日志目錄地址(根目錄必須存在, 子目錄會(huì)自動(dòng)生成)
base_path=/home/fastdfs/storage
# 存放文件時(shí) storage server 支持多個(gè)路徑胞谈。 這里配置存放文件的基路徑數(shù)目尘盼, 通常只配一
個(gè)目錄。
store_path_count=1
# 逐一配置 store_path_count 個(gè)路徑烦绳, 索引號(hào)基于 0卿捎。
# 如果不配置 store_path0, 那它就和 base_path 對(duì)應(yīng)的路徑一樣径密。
store_path0=/home/fastdfs/file
# FastDFS 存儲(chǔ)文件時(shí)午阵, 采用了兩級(jí)目錄。 這里配置存放文件的目錄個(gè)數(shù)享扔。
# 如果本參數(shù)只為 N(如: 256) 底桂, 那么 storage server 在初次運(yùn)行時(shí)括细, 會(huì)在 store_path 下
自動(dòng)創(chuàng)建 N * N 個(gè)存放文件的子目錄。
subdir_count_per_path=256
# tracker_server 的列表 戚啥, 會(huì)主動(dòng)連接 tracker_server
# 有多個(gè) tracker server 時(shí)奋单, 每個(gè) tracker server 寫一行
tracker_server=192.168.78.128:22122
# 允許系統(tǒng)同步的時(shí)間段 (默認(rèn)是全天) 。 一般用于避免高峰同步產(chǎn)生一些問題而設(shè)定猫十。sync_start_time=00:00
sync_end_time=23:59
# 訪問端口
http.server_port=80

3览濒、 創(chuàng)建 Storage 基礎(chǔ)數(shù)據(jù)目錄, 對(duì)應(yīng) base_path 目錄
創(chuàng)建 base_path 目錄

# mkdir -p /home/fastdfs/storage

這是配置的 store_path0 目錄

# mkdir -p /home/fastdfs/file

5拖云、 啟動(dòng) Storage
啟動(dòng) storage

# service fdfs_storaged start

關(guān)閉 storage

# service fdfs_storaged stop

查看 Storage 和 Tracker 是否在通信:

# /usr/bin/fdfs_monitor /etc/fdfs/storage.conf
通信信息

Client 配置贷笛, 文件上傳測試

1、 修改 Tracker 服務(wù)器中的客戶端配置文件

    # cd /etc/fdfs
    # cp client.conf.sample client.conf
    # vim client.conf

2宙项、 修改如下配置即可乏苦, 其它默認(rèn)。

# Client 的數(shù)據(jù)和日志目錄
base_path=/home/fastdfs/client
# Tracker 端口
tracker_server=192.168.78.128:22122

3尤筐、 創(chuàng)建 client 目錄

# mkdir -p /home/fastdfs/client

4汇荐、上傳文件測試
首先下載一個(gè)圖片文件在 Downloads 目錄


圖片

在 Downloads 目錄下執(zhí)行下面的上傳命令:

# /usr/bin/fdfs_upload_file /etc/fdfs/client.conf timg.img
圖片上傳成功

返回的文件 ID 由 group、 存儲(chǔ)目錄盆繁、 兩級(jí)子目錄掀淘、 fileid、 文件后綴名(由客戶端指定油昂, 主要
用于區(qū)分文件類型) 拼接而成革娄。
group1/M00/00/00/rBOr_1zqWcSASGLfAALpMV3ZLVg841.jpg
到此為止, FastDFS 文件服務(wù)器就搭建完畢冕碟, 并能夠上傳文件了拦惋! ! 安寺! 厕妖! ! 我衬!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叹放,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子挠羔,更是在濱河造成了極大的恐慌井仰,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件破加,死亡現(xiàn)場離奇詭異俱恶,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門合是,熙熙樓的掌柜王于貴愁眉苦臉地迎上來了罪,“玉大人,你說我怎么就攤上這事聪全〔磁海” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵难礼,是天一觀的道長娃圆。 經(jīng)常有香客問我,道長蛾茉,這世上最難降的妖魔是什么讼呢? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮谦炬,結(jié)果婚禮上悦屏,老公的妹妹穿的比我還像新娘。我一直安慰自己键思,他們只是感情好础爬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著稚机,像睡著了一般幕帆。 火紅的嫁衣襯著肌膚如雪获搏。 梳的紋絲不亂的頭發(fā)上赖条,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音常熙,去河邊找鬼纬乍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛裸卫,可吹牛的內(nèi)容都是我干的仿贬。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼墓贿,長吁一口氣:“原來是場噩夢啊……” “哼茧泪!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起聋袋,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤队伟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后幽勒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嗜侮,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了锈颗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片顷霹。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖击吱,靈堂內(nèi)的尸體忽然破棺而出淋淀,到底是詐尸還是另有隱情,我是刑警寧澤覆醇,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布绅喉,位于F島的核電站,受9級(jí)特大地震影響叫乌,放射性物質(zhì)發(fā)生泄漏柴罐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一憨奸、第九天 我趴在偏房一處隱蔽的房頂上張望革屠。 院中可真熱鬧,春花似錦排宰、人聲如沸似芝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽党瓮。三九已至,卻和暖如春盐类,著一層夾襖步出監(jiān)牢的瞬間寞奸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來泰國打工在跳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留枪萄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓猫妙,卻偏偏與公主長得像瓷翻,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子割坠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容