FastDFS分佈式文件系統安裝和部署

轉載的目的是源網站是我的博客,頗有可能隨時關閉,爲了信息保存便於查看。html

FastDFS是一個開源的分佈式文件系統,它對文件進行管理,功能包括:文件存儲、文件同步、文件訪問(文件上傳、文件下載)等,解決了大容量存儲和負載均衡的問題。特別適合以文件爲載體的在線服務,如相冊網站、視頻網站等等。nginx

FastDFS服務端有兩個角色:跟蹤器(tracker)和存儲節點(storage)。跟蹤器主要作調度工做,在訪問上起負載均衡的做用。git

存儲節點存儲文件,完成文件管理的全部功能:存儲、同步和提供存取接口,FastDFS同時對文件的meta data進行管理。所謂文件的meta data就是文件的相關屬性,以鍵值對(key value pair)方式表示,如:width=1024,其中的key爲width,value爲1024。文件meta data是文件屬性列表,能夠包含多個鍵值對。github

安裝步驟能夠參考源碼包內的INSTALL文件。本例中不含fastdfs-nginx-module和FastDHT的安裝和部署。vim

 

安裝需求bash

FastDFS 5.x 取消了對libevent的依賴,添加了對libfastcommon的依賴。本例中需求的環境以下:app

  1. Linux操做系統,本例中使用的操做系統是Ubuntu 14.04。
  2. FastDFS源碼:
    FastDFS項目主頁下載源碼,本例中使用的源碼版本是V5.05。
  3. libfastcommon源碼:
    下載libfastcommon(c common functions library for FastDFS),本例中使用的版本是V1.07。

 

安裝libfastcommon負載均衡

libfastcommon是FastDFS項目的通用函數庫。其中的方法包括:string,logger,chain,hash,socket,ini file reader,base64 encode / decode,url encode / decode,fasttimer等。libfastcommon的安裝過程以下:socket

1.下載libfastcommon源碼包,而且解壓分佈式

tar xzf libfastcommon_v1.x.tar.gz
#for example:
tar xzf libfastcommon_v1.23.tar.gz

2.,進入libfastcommon源碼根目錄

cd libfastcommon
./make.sh
./make.sh install

能夠看到libfastcommon.so安裝到了「/usr/lib64」目錄。可是FastDFS主程序設置的lib目錄是「/usr/local/lib」因此須要建立軟連接:

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

  1. 安裝libfastcommon組件
  2. 下載FastDFS源碼包,而且解壓
    tar xzf FastDFS_v5.x.tar.gz
    #for example:
    tar xzf FastDFS_v5.07.tar.gz

     

  3. 進入FastDFS源碼根目錄
    cd FastDFS

     

  4. make
    ./make.sh

     

  5. make install
    ./make.sh install

     

安裝完成後,全部可執行文件在目錄「/usr/bin」下,以fdfs_開頭:

[root@localhost ~]# ls /usr/bin/fdfs_*
/usr/bin/fdfs_appender_test   /usr/bin/fdfs_monitor
/usr/bin/fdfs_appender_test1  /usr/bin/fdfs_storaged
/usr/bin/fdfs_append_file     /usr/bin/fdfs_test
/usr/bin/fdfs_crc32           /usr/bin/fdfs_test1
/usr/bin/fdfs_delete_file     /usr/bin/fdfs_trackerd
/usr/bin/fdfs_download_file   /usr/bin/fdfs_upload_appender
/usr/bin/fdfs_file_info       /usr/bin/fdfs_upload_file

配置文件在目錄「/etc/fdfs」下:

[root@localhost ~]# ls /etc/fdfs
client.conf.sample  storage.conf.sample  tracker.conf.sample


首先須要在「/etc/fdfs」目錄下建立跟蹤器的配置文件tracker.conf和存儲節點的配置文件storage.conf,在「/etc/fdfs」命令下複製便可:修改/編輯跟蹤器和存儲節點的配置文件

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

     

  2. 修改tracker配置文件:
    vim /etc/fdfs/tracker.conf
    #或
    vi /etc/fdfs/tracker.conf
    #或
    gedit /etc/fdfs/tracker.conf

    其中重要的鍵是base_path(目錄地址,此目錄必須存在 ),在這裏修改成:
    base_path=/data/fastdfs/tracker

     

  3. 修改tracker配置文件:
    vim /etc/fdfs/storage.conf
    #或
    vi /etc/fdfs/storage.conf 
    #或
    gedit /etc/fdfs/storage.conf

    其中重要的鍵是base_path(目錄地址,此目錄必須存在 ,注:這裏不是上傳的文件存放的地址,以前是的,在某個版本後更改了 ),group_name,store_path[x],tracker_server。在這裏修改成:
    group_name=group1 
    
    base_path=/data/fastdfs/storage
    
    store_path0=/data/fastdfs/storage
    
    tracker_server=192.168.1.70:22122

     

tracker.conf和storage.conf更詳細說明見:FastDFS 配置文件詳解(修訂版1)

 

啓動跟蹤器和存儲節點

在啓動跟蹤器和存儲節點以前,須要建立上面提到的軟連接,不然會報錯:

TeX

/usr/bin/fdfs_trackerd: error while loading shared libraries: libfastcommon.so: cannot open shared object file: No such file or directory


使用客戶端client測試上傳下載啓動跟蹤器

/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart


在Linux系統,你能夠把fdfs_trackerd做爲服務啓動:

/sbin/service fdfs_trackerd start

啓動存儲節點

/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart


在Linux系統,你能夠把fdfs_storaged做爲服務啓動:

/sbin/service fdfs_storaged start

 

啓動跟蹤器和存儲節點後,須要測試它們的配置是否正確,可使用FastDFS自帶的客戶端測試。在使用客戶端以前首先須要配置客戶端:

  1. 在「/etc/fdfs」目錄下建立client的配置文件client.conf,在「/etc/fdfs」命令下複製便可:
    tracker_server=127.0.0.1:22122
    base_path=/home/xxx/fastdfs

     

客戶端client配置完成後,就可使用客戶端上傳和下載文件了:

  • 上傳文件
    dfs_upload_file client.conf /home/cjx/1.png
    
    #返回結果:
    
    group1/M00/00/00/fwAAAVaoXT2ALAOOAAplTCfBJQE558.png

     

  • 查看文件信息
    fdfs_file_info /etc/fdfs/client.conf group1/M00/00/00/fwAAAVaoXT2ALAOOAAplTCfBJQE558.png
    
    #返回結果:
    
    source storage id: 0
    
    source ip address: 127.0.0.1
    
    file create timestamp: 2016-01-27 14:01:33
    
    file size: 681292
    
    file crc32: 666969345 (0x27C12501)

     

  • 下載文件
    fdfs_download_file /etc/fdfs/client.conf group1/M00/00/00/fwAAAVaoXT2ALAOOAAplTCfBJQE558.png /home/xxx/fastdfs/1.png

    上傳文件2返回結果以下圖:
    fdfs_test client.conf upload /home/cjx/1.png

fadfs_upload

參考文章:
搭建FastDFS分佈式存儲環境(使用Nginx模塊)
FastDFS v5.06 部署
FastDFS 配置文件詳解(修訂版1)

相關文章
相關標籤/搜索