1. 程式人生 > >CentOS 搭建 FastDFS-5.0.5叢集

CentOS 搭建 FastDFS-5.0.5叢集

http://www.open-open.com/lib/view/open1435468300700.html 

   第一步,確定目標:

      Tracker  192.168.224.20:22122  CentOS

      Group1-Storage11   192.168.224.25:23000  CentOS

      Group1-Storage12   192.168.224.26:23000  CentOS

      雖然上述叢集結構中tracker是單一節點,如果在生產環境中,這是不正確的,但現在我們主要是想通過這次的搭建熟悉基本的搭建流程,所以此處就暫時忽略吧。

 

      第二步,確定安裝版本:

   分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集 

      

      第四步,資料夾初始化: 

      按照我們第一步確認的目標,我們可以現在自由選擇一個路徑,建立一些資料夾目錄,這些目錄後邊會在配置tracker和storage的過程中被用到。我在用虛擬機器建立的時候,是在/opt這個目錄下面建立相關的資料夾,詳細如下,僅供參考:

      1. 配置tracker所需的base_path: /opt/fastdfs_tracker。

      2. 配置storage所需的日誌目錄: /opt/fastdfs_storage_info。 備註: 這個目錄是用來儲存storage之間同步檔案等日誌的

      3. 配置storage所需的儲存檔案目錄: /opt/fastdfs_storage_data。備註: 這個目錄是用來儲存檔案的

      其實,我們在使用過程中並不是每個物理機上都會同時部署tracker和storage,那麼根據自己的實際情況,如果只部署storage,則就建立storage的那兩個資料夾;反之則只建立tracker的那個資料夾。

後邊在解釋配置檔案如何配置的過程中我將會按照上邊的目錄路徑做配置,大家可以比對著看每個路徑對應哪個配置。

 

      第五步,安裝libfastcommon-1.0.7.zip:

          解壓後,安裝  ./make.sh 和 ./make.sh install 這兩個命令,完成libfastcommon的安裝。

            分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集 

       5.  注意,上述安裝的路徑在/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-5.05.tar.gz:

      前 邊幾步如果安裝的都正確的話,這一步就比較簡單了,解壓縮fastdfs-5.05.tar.gz,然後依次執行 ./make.sh 和 ./make.sh install 這兩個命令,過程中沒有報錯,並且開啟 /etc/fdfs 這個目錄發現有配置檔案存在,就說明安裝成功了。

       分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集     


      第七步,配置tracker:

      前 邊的這六步無論是配置tracker還是配置storage都是必須的,而tracker和storage的區別主要是在安裝完fastdfs之後的配置 過程中。我們在第一步確認目標時,計劃在192.168.224.20這臺虛擬機器上配置tracker,所以我們就在這臺機器上演示。

      1. 進入/etc/fdfs資料夾,執行命令: cp  tracker.conf.sample  tracker.conf。

      2. 編輯tracker.conf,執行命令: vi  tracker.conf ,將以下幾個選項進行編輯:

          a. disabled=false            #啟用配置檔案

          b. port=22122                #設定tracker的埠號,一般採用22122這個預設埠

          c. base_path=/opt/fastdfs_tracker   #設定tracker的資料檔案和日誌目錄(預先建立)

          d. http.server_port=8080     #設定http埠號   注意,這個配置在fastdfs5.05這個版本中已經不用配置,不用管這個!

          分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集

      3. 啟動tracker,執行如下命令: /usr/local/bin/fdfs_trackerd  /etc/fdfs/tracker.conf  restart

          注意,一般fdfs_trackerd等命令在/usr/local/bin中沒有,而是在/usr/bin路徑下,所以命令修改如下: /usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf  restart

      4. 啟動完畢後,可以通過以下兩個方法檢視tracker是否啟動成功:

          a. netstat -unltp|grep fdfs,檢視22122埠監聽情況 

          b. 通過以下命令檢視tracker的啟動日誌,看是否有錯誤: tail -100f  /opt/fastdfs_tracker/logs/trackerd.log

      5. 如果啟動沒有問題,可以通過以下步驟,將tracker的啟動新增到伺服器的開機啟動中:

          a. 開啟檔案 vi /etc/rc.d/rc.local

          b. 將如下命令新增到該檔案中 /usr/bin/fdfs_trackerd  /etc/fdfs/tracker.conf  restart

 

 

      第八步,配置storage:

      其實配置storage和配置tracker類似,只不過配置檔案和配置內容不一樣。我們以配置192.168.224.29配置storage為例。

      1. 進入/etc/fdfs資料夾,執行命令: cp  storage.conf.sample  storage.conf。

      2. 編輯storage.conf,執行命令: vi  storage.conf ,將以下幾個選項進行編輯:

           a. disabled=false            #啟用配置檔案

           b. group_name=group2    #組名,根據實際情況修改

           c. port=23001     #設定storage的埠號,預設是23000,同一個組的storage埠號必須一致

           d. base_path=/opt/fastdfs_storage_info    #設定storage的日誌目錄(需預先建立)

           e. store_path_count=1   #儲存路徑個數,需要和store_path個數匹配

           f.  store_path0=/opt/fastdfs_storage_data   #儲存路徑

           g. tracker_server=192.168.224.20:22122   #tracker伺服器的IP地址和埠號

           h. http.server_port=8080     #設定http埠號   注意,這個配置在fastdfs5.05這個版本中已經不用配置,不用管這個!

           分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集          

           分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集

           分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集

      3. 啟動storage,執行如下命令: /usr/local/bin/fdfs_storage  /etc/fdfs/storage.conf  restart

          注意,一般fdfs_storage等命令在/usr/local/bin中沒有,而是在/usr/bin路徑下,所以命令修改如下: /usr/bin/fdfs_storage  /etc/fdfs/storage.conf  restart

      4. 啟動完畢後,可以通過以下兩個方法檢視storage是否啟動成功:

          a. netstat -unltp|grep fdfs,檢視23001埠監聽情況 

          b. 通過以下命令檢視storage的啟動日誌,看是否有錯誤: tail -100f  /opt/fastdfs_storage_info/logs/storage.log

      5. 啟動成功後,可以通過fdfs_monitor檢視叢集的情況,即storage是否已經註冊到tracker伺服器中

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

          檢視192.168.224.29:23001 是ACTIVE狀態即可

      6. 如果啟動沒有問題,可以通過以下步驟,將storage的啟動新增到伺服器的開機啟動中:

          a. 開啟檔案 vi /etc/rc.d/rc.local

          b. 將如下命令新增到該檔案中 /usr/bin/fdfs_storage  /etc/fdfs/storage.conf  restart

      

================================== 長長的分割 線===========================================   

      以上八步其實已經完成了fastdfs的配置,如果此時你用java等api編輯客戶端,實際上就可以完成檔案的上傳、同步和下載。但是為什麼網上還會有 很多人說需要nginx呢???其實主要原因時因為,我們可以通過配置nginx為下載提供基於http協議的下載等功能。

      其實,storage中安裝nginx,主要是為了為提供http的訪問服務,同時解決group中storage伺服器的同步延遲問題。而tracker中安裝nginx,主要是為了提供http訪問的反向代理、負載均衡以及快取服務 

 

      第九步,安裝nginx的準備:

      不管是在tracker中還是storage中安裝nginx,前提都需要安裝一些基礎軟體。一些大公司的伺服器預設都會初始化這些軟體,但是你在配置的時候可能還是最好自己利用命令確認一下。

      1. yum install -y gcc  這個前邊在安裝libfastcommon之前已經安裝了

      2. yum install -y gcc-c++ 這個前邊在安裝libfastcommon之前已經安裝了

      3. yum install -y pcre pcre-devel

      4. yum install -y zlib zlib-devel

      5. yum install -y openssl openssl-devel

      

      第十步,在storage中安裝nginx:

      1. 建立nginx預設的安裝資料夾: mkdir /usr/local/nginx

      2. 提前將 nginx1.7.8.tar.gz 和 fastdfs-nginx-module_v1.16.tar.gz 解壓縮,然後進入nginx1.7.8的資料夾目錄,執行如下命令:

          ./configure  --prefix=/usr/local/nginx  --add-module=/myself_settings/fastdfs-nginx-module/fastdfs-nginx-module/src

      3. 執行完上述命令,如果沒有報錯的話,我們繼續執行 make 命令,此時編譯有可能會報錯,那是因為我們忘了做一項重要的工作,我們可以參考下面這篇文章http://bbs.chinaunix.net/thread-4163021-1-1.html中的解答,其實彙總就是下面兩個意思:

          a. 我們在解壓縮fastdfs-nginx-module_v1.16.tar.gz之後,需要進入fastdfs-nginx-module/src目 錄,編輯config檔案,找到包含CORE_INCS這個一行,將路徑中local全部去掉,變為CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

          b. 建立軟連線,這個軟連線我們在第五步安裝libfastcommon時的最後一個操作就已經建立了,所以此處不用再建立了。

      4. 再依次執行 make 和 make install 這兩個命令,沒有報錯誤就是安裝成功了。

      5. 執行命令 cd /usr/local/nginx/conf,編輯 nginx.conf 這個檔案,編輯如下:

          listen       8080;

          在server段中新增: 

          location ~/group[1-3]/M00{

                 root/fdfs/storage/data;

                 ngx_fastdfs_module;

          }

          注意,如果配置的storage是在group2組,則下面的location應該是 ~/group2/M00

          分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集

      6. 執行命令 cd /myself_settings/fastdfs5.0.5/fastdfs-5.05/conf,即進入fastdfs5.0.5的安裝資料夾的conf目錄下,將目錄下面的http.conf和mime.types拷貝到/etc/fdfs/下,如果不執行這一步,後邊在啟動nginx時會報錯。

      7. 執行命令 cd /myself_settings/fastdfs_nginx_module/fastdfs-nginx-module/src,即進入 fastdfs-nginx-module_v1.16的安裝資料夾的src目錄下,將目錄下面的mod_fastdfs.conf這個檔案拷貝到 /etc/fdfs 目錄下。

      8. 開啟 /etc/fdfs 這個目錄,編輯 mod_fastdfs.conf 這個檔案,如下:

          注意以下配置是group2的第二個storage 192.168.224.29的配置,按照第一步確定的叢集目標來配置的,供大家參考。

          a. base_path=/opt/fastdfs_storage_info   #儲存日誌目錄

          b. tracker_server=192.168.224.20:22122   #tracker伺服器的IP地址以及埠號

          c. storage_server_port=23001   #storage伺服器的埠號

          d. group_name=group2  #當前伺服器的group名

          c. url_have_group_name= true        #檔案url中是否有group名

          d. store_path_count=1          #儲存路徑個數,需要和store_path個數匹配

          e. store_path0=/opt/fastdfs_storage_data         #儲存路徑

          f.  http.need_find_content_type=true     #從副檔名查詢檔案型別(nginx時為true)  注意:這個配置網上一般都會列出,但是在fastdfs5.05的版本中是沒有的

          h. group_count= 2       #設定組的個數

          i.  在檔案的末尾,按照第一步確定的叢集目標,追加如下圖的配置:

          分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集 

      9. 建立軟連線 ln  -s  /opt/fastdfs_storage_data/data  /opt/fastdfs_storage_data/data/M00

      10. 執行命令啟動nginx: /usr/local/nginx/sbin/nginx ,如果/usr/local/nginx/logs/error.log中沒有報錯,同時訪問192.168.224.29:8080這個url能看到 nginx的歡迎頁面。

 

      第十一步,在tracker中安裝nginx:

      注意,tracker中nginx安裝時比storage中的nginx安裝時多安裝一個nginx的快取模組,同時在配置的時候有很大的不同。

      1. 建立nginx預設的安裝資料夾: mkdir /usr/local/nginx

      2. 提前將 nginx1.7.8.tar.gz、fastdfs-nginx-module_v1.16.tar.gz、ngx_cache_purge-2.1.tar.gz解壓縮,然後進入nginx1.7.8的資料夾目錄,執行如下命令:

          ./configure  --prefix=/usr/local/nginx  --add-module=/myself_settings/fastdfs-nginx-module/fastdfs-nginx-module/src  --add-module=/myself_settings/ngx_cache_purge/ngx_cache_purge-2.1

      3. 執行完上述命令,如果沒有報錯的話,我們繼續執行 make 命令,此時編譯有可能會報錯,那是因為我們忘了做一項重要的工作,我們可以參考下面這篇文章http://bbs.chinaunix.net/thread-4163021-1-1.html中的解答,其實彙總就是下面兩個意思:

          a. 我們在解壓縮fastdfs-nginx-module_v1.16.tar.gz之後,需要進入fastdfs-nginx-module/src目 錄,編輯config檔案,找到包含CORE_INCS這個一行,將路徑中local全部去掉,變為CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"

          b. 建立軟連線,這個軟連線我們在第五步安裝libfastcommon時的最後一個操作就已經建立了,所以此處不用再建立了。

      4. 執行完3個步驟後,我們在重複執行2中的命令,然後再依次執行 make 和 make install 這兩個命令,沒有報錯誤就是安裝成功了。

      5. 執行命令 cd /usr/local/nginx/conf,編輯 nginx.conf 這個檔案,編輯如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

相關推薦

CentOS 搭建 FastDFS-5.0.5叢集

轉http://www.open-open.com/lib/view/open1435468300700.html     第一步,確定目標:       Tracker  192.168.224.20:22122

分散式儲存 CentOS6.5虛擬機器環境搭建FastDFS-5.0.5叢集

前言:       由於公司專案需要,最近開始學習一下分散式儲存相關知識,確定使用FastDFS這個開源工具。利用週末的時間在虛擬機器上搭建了分散式儲存系統,在搭建過程中,發現網上的資料說的並不是很全,有些細節需要單獨搜尋或者自己判斷,所以現在想寫這篇部落格儘量記錄一下自己在過程中遇到的問題,以及是如何解決

搭建一個FastDFS 5.0.5的檔案伺服器

參照文章https://www.linuxidc.com/Linux/2016-09/135537.htm以及https://www.cnblogs.com/geeek/p/5028328.html 摘自:http://www.oschina.net/p/fastdfs  Fast

Redis 5.0 Cluster叢集帶認證及客戶端連線

Redis在3.0版正式引入redis-cluster叢集這個特性。Redis叢集是一個提供在多個Redis間節點間共享資料的程式集。Redis叢集是一個分散式(distributed)、容錯(fault-tolerant)的Redis記憶體K/V服務,叢集可以使用的功能是普通單機Redis所能使用的功能的一

CentOS 7 搭建redis 4.0.11叢集

一、單節點部署redis叢集 1、建立redis叢集目錄         在同一個主機中部署三主三從的redis叢集,redis節點為7001-7006。     新建redis叢集目錄:mkdir -p /usr/local/redis-cluster,在該目錄下建立

MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要區別

5.6 同步 一個表 bin ger err 各版本 擴展性 sed MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要區別 一、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支持

在Ubuntu 16.04下安裝 virtualbox 5.0/5.1

不知道為什麼,下載好官方的安裝包之後安裝總是儲存。我放棄了官方的安裝包,想辦法從其他地方安裝。軟體商店試過,一直在安裝,似乎卡住了,最後是通過添加了一個源的方式才裝上的~ 這裡放上安裝的過程 sudo sh -c 'echo "deb http://download.virtua

Omi 5.0.5 釋出,騰訊開源的下一代 Web 框架

Omi 5.0.5 已釋出,更新內容如下: [Fix] fix host [Add] supports defineElement for amd env, it's the same as define Omi 是騰訊開源的下一代 Web 框架,去萬物糟粕,合精

Win10 安裝Oracle資料庫出現報錯異常——正在檢查作業系統要求...要求結果:5.0,5.1,5.2.....實際結果:6.2

出現的問題: 我前後兩次在win10系統下安裝oracle 10g 時,都出現這個異常:  正在檢查作業系統要求…  要求的結果: 5.0,5.1,5.2,6.0,6.1 之一  實際結果: 6.2  檢查完成。此次檢查的總體結果為: 失敗 <<<&

如何去除GANDCRAB V5.0.4/5.0.5勒索病毒,經驗告訴你怎麼做

GANDCRAB v5.04 勒索軟體再次出現在一個名為GANDCRAB 5.0.3的新子變體中。惡意軟體來自勒索軟體型別,這意味著它會在未被注意的情況下進入您的PC並加密您的檔案,之後會留下贖金票據,稱為{5隨機字母} -DECRYPT.txt。贖金票據旨在勒索受害者支付贖金以解密他們的檔案**傳

win64bit安裝oracle 10g版本檢查未通過解決 提示要求的結果: 5.0,5.1,5.2,6.0 之一 實際結果: 6.1

在WIN7上安裝oracle 10g時,提示如下資訊: 正在檢查作業系統要求...  要求的結果: 5.0,5.1,5.2,6.0 之一  實際結果: 6.1  檢查完成。此次檢查的總體結果為: 失敗 <<<<  問題: Oracle Databas

考慮 PHP 5.0~5.6 各版本相容性的 cURL 檔案上傳

來源:內容來源 不同版本PHP之間cURL的區別 PHP的cURL支援通過給CURL_POSTFIELDS傳遞關聯陣列(而不是字串)來生成multipart/form-data的POST請求。 傳統上,PHP的cURL支援通過在陣列資料中,使用“@+檔案全

android 安卓4.4 5.0 5.1 6.0支付flash的原始碼支援as2.0 flash

softboy軟體為使用者解決這一難點。 4.0 之後由於谷歌放棄原來的瀏覽器核心使用chrome 作為核心導致flash無法展示。 as3.0 的flash 可以使用adobe air 展示 但是flash需要跟apk打包在一起。  softboy 軟體提供的 可以 開

MySQL 4.1/5.0/5.1/5.5/5.6/5.7各版本的主要區別

mysql的50版本和51版本的區別: 一、5.0 增加了Stored procedures、Views、Cursors、Triggers、XA transactions的支援,增加了INFORATION_SCHEMA系統資料庫。 二、5.1 增加了Event sched

centos 部署Hadoop-3.0-高效能叢集(一)安裝

Hadoop概述:Hadoop是一個由Apache基金會所開發的分散式系統基礎架構。使用者可以在不瞭解分散式底層細節的情況下,開發分散式程式。充分利用叢集的威力進行高速運算和儲存。 Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS分散式檔案系統為海

CentOS搭建Fabric-1.0

自2017年4月份fabric-1.0 alpha釋出至今,fabric-1.0經歷了alpha、alpha2、beta、rc1、1.0等版本。與fabric-0.6相比,fabric-1.0在架構和角色上發生很大變化,其節點型別分成peer、orderer、c

(解決)android不同版本的【沉浸式狀態列】(4.4/5.0/5.1/6.0

介紹: 各個版本有略微的區別,下面我就根據自己的測試和除錯寫出對應的方法: 4.4以上(API>=19)的前提下,任選以下方法: 1.法1:只要呼叫一個方法,setContentView前: getWindow().addFlags(Win

ThinkPHP 5.0/5.1 自定義404介面的配置

★ 背景 還要啥背景,就是覺得不可能用框架自帶的 404 介面唄. 可能跟之前的版本配置方法有點區別,在此做一下簡單的筆記 框架:ThinkPHP 5.1,ThinkPHP5.0.20 ★ 配置

一張圖講解最少機器搭建FastDFS高可用分散式叢集安裝說明

 很幸運參與零售雲快消平臺的公有云搭建及孵化專案。零售雲快消平臺源於零售雲家電3C平臺私有專案,是與公司業務強耦合的。為了適用於全場景全品類平臺,集團要求專案平臺化,我們搶先並承擔了此任務。並由我來主要負責平臺建設及專案落地。  今天講解在零售雲快消平臺中使用的圖片服務FastDFS叢集搭建說明,此叢集模式是

Solr 7.5.0叢集搭建

章節目錄 一:solrcloud簡介                            二:搭建準備工作 三:偽叢集搭建                               四:叢集搭建 一:solrcloud簡介 1:什麼是solrcloud? S