FastDFS安裝配置手冊


文件服務器分布式系統安裝手冊

本文檔詳細的介紹了FastDFS的最小集群安裝過程。集群環境如下:

tracker:20.2.64.133 。用於調度工作,在訪問上起負載均衡的作用。

group1:

      storage1: 20.10.129.150。存儲節點存儲文件,完成文件管理的所有功能。

      storage2: 20.12.1.73。

group2:

      storage2:20.12.1.74

   以下將詳細的介紹此分布式的安裝過程,針對不同的系統,安裝過程中部分細節(存儲路徑設置等)可能稍有不同,但基本步驟相同。

第一步安裝libevent

在搭建分布式環境之前,需要確保已經安裝了libevent,FastDFS安裝時對libevent的版本有一定要求。注需要卸載重裝系統自帶的libevent。使用最新的stable版本本示例中使用的版本為libevent-2.0.21-stable。注意,此步驟需要在所有機器上都執行,否則會導致FastDFS安裝失敗。

1:判斷是否安裝了libevent

>> rpm -qa|grep libevent

如果有輸出,則說明已經安裝了libevent

Fastdfs對libevent版本有要求,所以先刪除系統自帶的libevent,然后安裝最新穩定版本

在本示例中,輸出為libevent-1.4.13-1.el6.x86_64

2:卸載已有的libevent

  >> rpm -e libevent --nodeps

3:安裝最新的libevent

本示例的libevent使用版本為libevent-2.0.21-stable.tar.gz

安裝libevent   

>> tar zvxf libevent-2.0.21-stable.tar.gz

>> cd libevent-2.0.21-stable

>> ./configure --prefix=/usr 

>> make

>>make install

4:檢查是否安裝成功

>> ls –al /usr/lib |grep libevent(或者>> ls –al /usr/local/lib |grep libevent)若有結果,則說明安裝正確

注意:

  1) 如果是在32為系統上安裝,且libevent 的安裝目錄在/usr/local/lib下,則還需要建立libevent-2.0.so.5 到/usr/lib的軟鏈接,這樣其他程序運行時才可以找到libevent庫

>> ln –s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5

 2) 如果是在64位系統,需要創建一個libevent-2.0.so.5 到/usr/lib64的軟鏈接

>> ln -s /usr/lib/libevent-2.0.so.5 /usr/lib64/libevent-2.0.so.5 (假設libevent 的安裝目錄在/usr/lib下)

到此一步,安裝libevent工作完畢。

 

第二步安裝FastDFS

本示例中使用的FastDFS版本為4.0.6。

安裝FastDFS

>> tar zvxf FastDFS_v4.06.tar.gz

>> cd FastDFs

>> ./make.sh

>> ./make.sh install

注意上面兩步,檢查是否出錯,如果出錯,則說明上面的libevent沒有安裝好

安裝成功后,FastDFS 安裝在/usr/local/bin中。配置文件在/etc/fdfs中

至此,FastDFS安裝完畢

此步驟需要在所有機器上都執行。

第三步安裝nginx以及fastdfs-nginx-module(只需在storage)

FastDFS通過HTTP服務器來提供HTTP服務。為了支持高並發的訪問,以及提供負載均衡等高性能的服務,本示例使用nginx作為HTTP服務器,FastDFS為我們提供了Nginx上使用的FastDFS模塊(fastdfs-nginx-module)。此步操作只需要在storage上執行。tracker

上可不執行。

1:fastdfs-nginx-module安裝:

>>  tar -zxvf fastdfs-nginx-module_v1.11.tar.gz    (解壓后的路徑為/home/chenfeic/fastdfs/fastdfs-nginx-module)

Nginx需要依賴第三方的庫 nginx的gzip模塊需要zlib庫,rewrite模塊需要pcre庫,那么我們來依次安裝它們。

2zlib庫安裝:

>> tar -vxzf zlib-1.2.8.tar.gz    (本示例中解壓位置為/home/chenfeic/fastdfs/zlib-1.2.8)

>>cd zlib-1.2.8

>> ./configure --prefix=/usr/local/zlib   (設置安裝路徑)

>> make

>> make install

3pcre庫安裝:

>> tar -vxzf pcre-8.33.tar.gz  (本示例中解壓位置為--with-pcre= /home/chenfeic/ fastdfs / pcre-8.33 )

>> cd prce-8.33

>> ./configure --prefix=/usr/local/pcre

--libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre

>> make

>> make install

4:nginx安裝:

>> tar -zxvf nginx-1.4.4.tar.gz

>> cd nginx-1.4.4

>>./configure --prefix=/usr/local/nginx --with-zlib=/home/chenfeic/fastdfs/zlib-1.2.8  --with-pcre=/home/chenfeic/fastdfs/pcre-8.33 --sbin-path=/usr/local/nginx --add-module=/home/chenfeic/fastdfs/fastdfs-nginx-module/src

>> make

>> make install 

注意:--with-pcre --with-zlib 后面的路徑都是源碼路徑,而不是編譯后的包。在實際的過程中,此路徑根據具體情況填寫。

至此,我們的nginx安裝成功,nginx默認是80端口,為了防止與其他服務沖突,建議換成其他端口(后續章節有詳細介紹)。

此步驟需要在所有storage節點上都執行。(tracker節點不需要執行)

 

第四步配置及啟動FastDFS

1:tracker配置(只需在跟蹤器節點配置)

修改tracker的配置文件tracker.conf。該文件位置在/etc/fdfs/tracker.conf。主要修改以下兩處,如有其他調整,可參考FastDFS文檔自行調整。

>> /etc/fdfs/tracker.conf

    base_path=/home/chenfeic/fastdfs/tracker    ====>放置data和log的目錄。這個路徑必須存在

##include http.conf 修改為#include http.conf    ====> 這里一定要注意!是 #include,不是include!!! 如果沒有此配置項,則不需要處理

 

啟動tracker

>> /usr/local/bin/fdfs_tracker /etc/fdfs/tracker.conf

檢查是否正常啟動

 >> netstat –anp|grep –w fdfs

看是否有輸出,且22122端口已啟動

 

2:storage配置(只需在存儲節點配置,同一group節點的配置是一樣的)

1)修改nginx端口(可選)

 nginx 默認端口號為80,為了防止沖突,可以設置為其他端口,本示例中將其修改為8080。  

修改/usr/local/nginx/conf/nginx.conf

>> vim /usr/local/nginx/conf/nginx.conf

   Server {
           listen 8080(從80改為8080)

}

2)支持FastDFS模塊

在nginx的server配置段中增加 /group1/M00的location聲明

storage $> vim /usr/local/nginx/conf/nginx.conf

location /group1 /M00 {  //注意:此處如果是在group1就寫成group1/M00。如果是group2節點就寫group2/M00。依次類推。

root  /home/chenfeic/ fastdfs /storage/data; //必須保證路徑存在,若不存在就創建

ngx_fastdfs_module;  注意這兩行都有分號

}(其中/home/chenfeic/ fastdfs /storage/為storage中配置的store_path0路徑,data目錄一定要加上

 給 storage 的存儲目錄做一個軟連接

> ln -s /home/chenfeic/ fastdfs /storage/data  /home/chenfeic/ fastdfs /storage /data /M00

3)修改storage配置

修改storage的配置文件storage.conf。該文件位置在/etc/fdfs/storage.conf。主要修改以下幾如有其他調整,可參考FastDFS文檔自行調整

    group_name=group1 ====> 此台storage server所屬的服務器組名。此處如果是在group1就寫成group1。如果是group2節點就寫group2。依次類推。

 

    base_path=/home/chenfeic/ fastdfs /storage ====> 放置data和log的目錄。此路徑必須保證存在。

    store_path0=/home/chenfeic/ fastdfs /storage       ====> 放置文件的目錄,此路徑必須保證存在,建議跟base_path保持一致(/home/chenfeic/ fastdfs /storage與nginx server段中的設置保持一致,

    tracker_server=20.2.64.133:22122         ====> tracker server的ip和端口,此處可以寫多個tracker server,每行一個,因為本示例中只有一個tracker,所以只需寫一個。

    http.disabled=true                    ====> 關閉內置的web server,如果有此配置項就設置,否則就不用設置。

    http.server_port=8080                    ====> web server的端口改成8080(與nginx 端口一致)

 

4)修改fastdfs-nginx-module配置

拷貝mod_fastdfs.conf 到/etc/fdfs目錄下

 >>cp /home/chenfeic/fastdfs/fastdfs-nginx-module/src/mod_fastdfs.conf  /etc/fdfs/

 

5)修改mod_fastdfs.conf配置文件

>> vim /etc/fdfs/mod_fastdfs.conf

    base_path=/home/chenfeic/ fastdfs /storage        ====> 放置log的目錄,與storage中的配置保持一致。

    tracker_server=20.2.64.133:22122         ====> tracker server的ip和端口,此處可以寫多個tracker server,每行一個,因為本示例中只有一個tracker,所以只需寫一個。

    group_name=group1                     ====> 此台storage server所屬的服務器組名。此處如果是在group1就寫成group1。如果是group2節點就寫group2。依次類推。

 

    url_have_group_name = true             ====> 在URL中包含group名稱。一定要設置true

    store_path0=/home/chenfeic/ fastdfs /storage            ====> 放置文件的目錄,與storage中保持一致

response_mode=proxy                ====> 對文件同步延遲的處理方式,通過redirect跳轉和proxy代理兩種方式解決

group_count=2       ====>group的個數,在本示例中有兩個group,所以設為2

 

 

到此,配置已經完成,啟動nginx和相關storage

  >>/usr/local/nginx/nginx

>> /usr/local/bin/fdfs_storage /etc/fdfs/ storage.conf

檢查是否正常啟動

 >> netstat –anp|grep –w 8080  看8080端口是否啟動

 

3:測試是否正常安裝

    此步驟在tracker或者storage都可以測試,本示例中在storage上測試,修改client.conf配置文件。

    > vim /etc/fdfs/client.conf

base_path=/home/chenfeic/ fastdfs

tracker_server=20.2.64.133:22122

測試

     >vim hello.txt (創建一個測試的文件)

> /usr/local/bin/fdfs_test / etc/fdfs/client.conf  upload  hello.txt

查看結果,看文件是否正確上傳

 

 

可以在任何storage機器上執行如下命令,查看fastdfs集群狀態,如果各個storage狀態都為ACTIVE,則搭建成功。

/usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf

 

關閉tracker(storage)

  /usr/local/bin/stop.sh /usr/local/bin/fdfs_trackered(fdfs_storaged) /etc/fdfs/tracker.conf(storage.conf)

  或者 killall fdfs_trackered(storaged)  -------注意,千萬不要使用-9強行殺死進程否則可能會導致binlog數據丟失的問題。

 重啟tracker(storage)

/usr/local/bin/restart.sh /usr/local/bin/fdfs_trackered(fdfs_storaged) /etc/fdfs/tracker.conf(storage.conf)

刪除storage

 /usr/local/bin/fdfs_monitor /etc/fdfs/storage.conf delete group2 20.12.1.73(刪除group2中ip為20.12.1.73的storage)

注意:在配置過程,要注意防火牆的設置。關閉防火牆,或者設置對相關端口例外。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM