溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CentOS7中安裝配置FastDFS的教程

發(fā)布時(shí)間:2020-06-16 13:41:43 來源:億速云 閱讀:224 作者:鴿子 欄目:建站服務(wù)器

背景

FastDFS是一個(gè)開源的輕量級分布式文件系統(tǒng),為互聯(lián)網(wǎng)量身定制,充分考慮了冗余備份、負(fù)載均衡、線性擴(kuò)容等機(jī)制,并注重高可用、高性能等指標(biāo),解決了大容量存儲(chǔ)和負(fù)載均衡的問題,特別適合以文件為載體的在線服務(wù),如相冊網(wǎng)站、視頻網(wǎng)站等等。對于互聯(lián)網(wǎng)應(yīng)用,和其他分布式文件系統(tǒng)相比,優(yōu)勢非常明顯。
出于簡潔考慮,F(xiàn)astDFS沒有對文件做分塊存儲(chǔ),因此不太適合分布式計(jì)算場景。
在此再次感謝淘寶資深架構(gòu)師余慶大神開源了如此優(yōu)秀的輕量級分布式文件系統(tǒng),本篇文章就記錄一下FastDFS的最新版本5.11在CentOS7中的安裝與配置。

相關(guān)鏈接

下載地址: http://sourceforge.net/projects/fastdfs/files

環(huán)境準(zhǔn)備

操作系統(tǒng):CentOS7
兩臺(tái)服務(wù)器192.168.53.141、192.168.53.142
安裝包:

fastdfs-5.11.tar.gz
libfastcommon-1.0.36.tar.gz
fastdfs-nginx-module-master.zip
nginx-1.14.0.tar.gz

服務(wù)器規(guī)劃:
tracker服務(wù)器:192.168.53.141
storage服務(wù)器: 192.168.53.142

安裝包獲取

本次安裝為目前更新的最新版本,所用到的安裝包均來自github上作者最后的releases。
獲取FastDFS安裝包
目前作者最后一次releases的時(shí)間的17年6月3號,對應(yīng)的最新版本是5.11,直接在余大的GitHub上下載:
https://github.com/happyfish200/fastdfs/releases
CentOS7中安裝配置FastDFS的教程
獲取libfastcommon安裝包
目前作者最后一次releases的時(shí)間的17年4月5號,對應(yīng)的最新版本是1.0.36,直接在余大的GitHub上下載:
https://github.com/happyfish200/libfastcommon/releases
CentOS7中安裝配置FastDFS的教程
獲取fastdfs-nginx-module安裝包
從github上獲取最新的代碼
https://github.com/happyfish200/fastdfs-nginx-module
CentOS7中安裝配置FastDFS的教程
獲取nginx安裝包
http://nginx.org/en/download.html
CentOS7中安裝配置FastDFS的教程
獲取完成最新安裝包之后,上傳到/usr/local/src/目錄下。

安裝說明

FastDFS分為tracker(跟蹤器)和storage(存儲(chǔ)器);
tracker跟蹤器主要做調(diào)度工作,在訪問上起負(fù)載均衡的作用。
storage存儲(chǔ)器,文件和meta data都保存到存儲(chǔ)服務(wù)器上。
group組、卷,組外可橫向拓展,組內(nèi)服務(wù)器上文件相互備份,是完全相同的。
兩臺(tái)服務(wù)器全部需要安裝libfastcommon和FastDFS,不同點(diǎn)為tracker和storage配置不同。

安裝FastDFS(全部)

我們準(zhǔn)備的兩臺(tái)服務(wù)器需要全部安裝FastDFS基礎(chǔ)環(huán)境
安裝依賴

#安裝依賴
yum -y install gcc-c++ perl

安裝libfastcommon類庫
FastDFS 5.x 取消了對 libevent 的依賴,添加了對 libfastcommon 的依賴,安裝FastDFS必須安裝libfastcommon類庫

tar -zxvf libfastcommon-1.0.36.tar.gz
cd libfastcommon-1.0.36
./make.sh
./make.sh install

執(zhí)行./make.sh命令進(jìn)行編譯,沒有error信息的話就說明編譯成功了,最后再執(zhí)行./make.sh install進(jìn)行安裝,看到類似如下提示信息就說明libfastcommon已安裝成功:
CentOS7中安裝配置FastDFS的教程
創(chuàng)建軟連接
因?yàn)?FastDFS 主程序設(shè)置的 lib 目錄是/usr/local/lib, 所以需要?jiǎng)?chuàng)建軟鏈接(FastDFS主程序安裝需要依賴此類庫,若不創(chuàng)建軟連接會(huì)安裝失?。?br/>ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
安裝FastDFS

tar -zxvf fastdfs-5.11.tar.gz
cd fastdfs-5.11
./make.sh
./make.sh install

沒有報(bào)錯(cuò)信息一般就是安裝成功了,安裝日志為:CentOS7中安裝配置FastDFS的教程
相關(guān)文件和目錄
我們是采用默認(rèn)安裝的方式安裝的,安裝完成對應(yīng)的文件和目錄如下:

  1. 服務(wù)腳本:
    /etc/init.d/fdfs_storaged
    /etc/init.d/fdfs_tracker
  2. 配置文件(配置文件樣例):
    /etc/fdfs/client.conf.sample
    /etc/fdfs/storage.conf.sample
    /etc/fdfs/storage_ids.conf.sample
    /etc/fdfs/tracker.conf.sample
  3. 命令工具在/usr/bin/目錄下:
    fdfs_appender_test
    fdfs_appender_test1
    fdfs_append_file
    fdfs_crc32
    fdfs_delete_file
    fdfs_download_file
    fdfs_file_info
    fdfs_monitor
    fdfs_storaged
    fdfs_test
    fdfs_test1
    fdfs_trackerd
    fdfs_upload_appender
    fdfs_upload_file
    stop.sh
    restart.sh

    配置FastDFS跟蹤器(192.168.53.141)

    復(fù)制tracker.conf.sample并重命名為tracker.conf

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

    編輯配置文件
    vi /etc/fdfs/tracker.conf
    主要信息及改動(dòng)情況如下:

    disabled=false #默認(rèn)為false 此處不修改 不啟用=false就是啟用。設(shè)計(jì)如此,暫不吐槽。
    port=22122 #跟蹤器端口號,默認(rèn)為22122,生產(chǎn)環(huán)境可自行修改,這里我暫用默認(rèn)端口
    base_path=/fastdfs/tracker #目錄地址 依實(shí)際掛載的數(shù)據(jù)盤自行設(shè)置,根目錄必須存在,子目錄會(huì)自動(dòng)創(chuàng)建

    其他參數(shù)保留默認(rèn)配置即可,詳細(xì)的配置信息可參考官方的文檔說明
    http://bbs.chinaunix.net/thread-1941456-1-1.html
    創(chuàng)建基礎(chǔ)數(shù)據(jù)目錄(base_path對應(yīng)的路徑)
    mkdir -p /fastdfs/tracker
    防火墻中打開跟蹤器端口(默認(rèn)為 22122)

    firewall-cmd --permanent --zone=public --add-port=22122/tcp
    firewall-cmd --reload

    啟動(dòng)tracker
    /etc/init.d/fdfs_trackerd start
    查看tracker是否啟動(dòng)成功
    ps -ef | grep fdfs
    CentOS7中安裝配置FastDFS的教程
    下面的停止和設(shè)置開機(jī)啟動(dòng)為非必須的操作,我是不想每次重啟服務(wù)器都手動(dòng)啟動(dòng)一遍,就加了開機(jī)啟動(dòng)!
    停止tracker
    /etc/init.d/fdfs_trackerd stop
    設(shè)置開機(jī)啟動(dòng)
    vi /etc/rc.d/rc.local
    添加以下內(nèi)容:

    ## FastDFS Tracker
    /etc/init.d/fdfs_trackerd start

    由于在centos7中,/etc/rc.d/rc.local文件的權(quán)限被降低了,沒有執(zhí)行權(quán)限,需要給它添加可執(zhí)行權(quán)限。
    chmod +x /etc/rc.d/rc.local

    配置FastDFS存儲(chǔ)器(192.168.53.142)

    復(fù)制storage.conf.sample并重命名為storage.conf

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

    編輯配置文件
    vi /etc/fdfs/storage.conf
    主要信息及改動(dòng)情況如下:

    disabled=false  #默認(rèn)為false 此處不修改 不啟用=false就是啟用。設(shè)計(jì)如此,這里也暫不吐槽。
    port=23000 #存儲(chǔ)器端口號,默認(rèn)為23000,生產(chǎn)環(huán)境可自行修改,這里我暫用默認(rèn)端口
    base_path=/fastdfs/storage  #目錄地址 依實(shí)際掛載的數(shù)據(jù)盤自行設(shè)置,根目錄必須存在,子目錄會(huì)自動(dòng)創(chuàng)建
    store_path0=/fastdfs/storage 
    #存放文件時(shí)storage server支持多個(gè)路徑,如果不配置base_path0,那邊它就和base_path對應(yīng)的路徑一樣
    tracker_server=192.168.53.141:22122 # tracker_server 的列表 要寫端口的哦 (再次提醒是主動(dòng)連接tracker_server )
    http.server_port=8888 # HTTP服務(wù)端口 默認(rèn)為8888 生產(chǎn)環(huán)境可自行修改,這里我暫用默認(rèn)端口

    其他參數(shù)保留默認(rèn)配置即可,詳細(xì)的配置信息可參考官方的文檔說明
    http://bbs.chinaunix.net/thread-1941456-1-1.html
    創(chuàng)建基礎(chǔ)數(shù)據(jù)目錄(base_path對應(yīng)的路徑)
    mkdir -p /fastdfs/storage
    防火墻中打開跟蹤器端口(默認(rèn)為 23000)

    firewall-cmd --permanent --zone=public --add-port=23000/tcp
    firewall-cmd --reload

    啟動(dòng)storaged
    /etc/init.d/fdfs_storaged start
    (初次啟動(dòng)會(huì)在/fastdfs/storage目錄下生成data和logs目錄)
    查看storage是否啟動(dòng)成功
    ps -ef | grep fdfs
    CentOS7中安裝配置FastDFS的教程
    下面的停止和設(shè)置開機(jī)啟動(dòng)為非必須的操作,我是不想每次重啟服務(wù)器都手動(dòng)啟動(dòng)一遍,就加了開機(jī)啟動(dòng)!
    停止storaged
    /etc/init.d/fdfs_storaged stop
    設(shè)置開機(jī)啟動(dòng)
    vi /etc/rc.d/rc.local
    添加以下內(nèi)容:

    ## FastDFS Storaged
    /etc/init.d/fdfs_storaged start

    由于在centos7中,/etc/rc.d/rc.local文件的權(quán)限被降低了,沒有執(zhí)行權(quán)限,需要給它添加可執(zhí)行權(quán)限。
    chmod +x /etc/rc.d/rc.local

    測試文件上傳(192.168.53.141)

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

    cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
    vi /etc/fdfs/client.conf

    主要信息及改動(dòng)情況如下:
    base_path=/fastdfs/tracker
    tracker_server=192.168.53.141:22122
    執(zhí)行上傳命名
    /usr/bin/fdfs_upload_file /etc/fdfs/client.conf /usr/local/src/fastdfs-5.11.tar.gz
    返回 ID 號: group1/M00/00/00/wKg1jlrfY6-Ad3ssAAUkKwe5sE4.tar.gz
    (第一個(gè)參數(shù)為上傳配置文件,第二個(gè)參數(shù)為 需要上傳的文件。能返回以上文件 ID, 說明文件上傳成功)

    在存儲(chǔ)節(jié)點(diǎn)上安裝nginx

    安裝nginx和fastdfs-nginx-modulemok模塊
    解壓文件

    cd /usr/local/src/
    unzip fastdfs-nginx-module-master.zip
    tar -zxvf nginx-1.14.0.tar.gz

    安裝編譯 Nginx 所需的依賴包
    yum -y install pcre* zlib zlib-devel
    編譯安裝 Nginx(添加 fastdfs-nginx-module 模塊)

    ./configure --add-module=/usr/local/src/fastdfs-nginx-module-master/src
    make && make install

    復(fù)制 fastdfs-nginx-module 源碼中的配置文件到/etc/fdfs 目錄, 并修改

    cp /usr/local/src/fastdfs-nginx-module-master/src/mod_fastdfs.conf /etc/fdfs/
    vi /etc/fdfs/mod_fastdfs.conf

    修改以下配置:

    connect_timeout=10 #默認(rèn)為2 改為10 2秒太少了
    base_path=/tmp
    tracker_server=192.168.53.141:22122 #tracker跟蹤器地址
    storage_server_port=23000 #storage存儲(chǔ)器的端口
    group_name=group1 #組名
    url_have_group_name = true #url hava group name 顧名思義 默認(rèn)為false 改為true
    store_path0=/fastdfs/storage #存儲(chǔ)器存儲(chǔ)地址

    復(fù)制FastDFS 的部分配置文件到/etc/fdfs 目錄

    cd /usr/local/src/fastdfs-5.11/conf/
    cp http.conf mime.types /etc/fdfs/

    在/fastdfs/storage 文件存儲(chǔ)目錄下創(chuàng)建軟連接,將其鏈接到實(shí)際存放數(shù)據(jù)的目錄
    ln -s /fastdfs/storage/data/ /fastdfs/storage/data/M00
    配置nginx
    簡要配置樣例:

    user  root;
    worker_processes  1;
    events {
    worker_connections  1024;
    }
    http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen 8888;
        server_name localhost;
        location ~/group([0-9])/M00 {
            #alias /fastdfs/storage/data;
            ngx_fastdfs_module;
        }
        error_page 500 502 503 504 /50x.html;
          location = /50x.html {
          root html;
        }
    }
    }

    防火墻打開8888端口

    firewall-cmd --permanent --zone=public --add-port=8888/tcp
    firewall-cmd --reload

    啟動(dòng)nginx后訪問剛剛測試上傳的文件地址
    http://192.168.53.142:8888/group1/M00/00/00/wKg1jlrfY6-Ad3ssAAUkKwe5sE4.tar.gz
    能正常下載文件,此時(shí)fdfs單節(jié)點(diǎn)的安裝和配置完成。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI