FastDFS蛋疼的集羣和負載均衡(一)之FastDFS基礎配置

diary_report.jpg
###Interesting things

好像今天沒有什麼有趣的事情java

###What did you do todaynginx

  • 建立虛擬機的時候,有時會拋出不少錯誤,解決方案:添加分配給虛擬機的內存。c++

  • 解決XShell-ssh鏈接虛擬機常常被意外中斷的問題,vi /etc/ssh/sshd_config,進入去掉註釋#UseDNS no,改成UseDNS no,問題是ssh的服務端在鏈接虛擬機時會自動檢測dns環境是否一致致使的,修改成不檢測便可解決。vim

image.png

  • 什麼是FastDFS?經過做者的話來講FastDFS是一個開源的高性能分佈式文件系統。它的主要功能包括文件村存儲,文件同步和文件訪問,以及高容量和負債均衡的設計。
    • 輸入 https://sourceforge.net/projects/fastdfs/files/ 服務器

      image.png

    • 下載FastDFS的Server安裝包,點擊FastDFS Server Source Code 負載均衡

      image.png

    • 選擇2014-12-02的版本進行點擊,下載FastDFS_v5.05.tar.gz ,同理下載fastdfs-nginx-module_v1.16.tarfastdfs_client_java._v1.25.tar ssh

      image.png
      image.png

    • 安裝8臺虛擬機(最小化安裝),給這8臺虛擬機配置靜態ip而且能ping通外網和主機(能夠參考我上一篇博客),配置完後使用XShell工具來操做虛擬機。分佈式

    • 我使用的虛擬機分別爲192.168.12.11 192.168.12.22 192.168.12.33 192.168.12.44 192.168.12.55 192.168.12.66 192.168.12.77 192.168.12.88。其中192.168.12.11和192.168.12.22分別做爲tracker1和tracker2。192.168.12.33 和192.168.12.44做爲group1。 192.168.12.55 和 192.168.12.66做爲group2。最後把192.168.12.77和192.168.12.88做爲Nginx集羣多層負載均衡。多層負載均衡會生成一個虛擬ip,咱們最終會經過虛擬ip來訪問咱們的集羣。工具

    • 咱們用Xftp 5鏈接192.168.12.11,在/usr/local/ 建立software文件夾,而後在software下準備好這些文件。 性能

      image.png

    • 而後經過scp -r/user/local/software/ root@192.168.12.22:/usr/local這樣的方式給每個虛擬機複製一份到它的/usr/local/software路徑下(若是目標虛擬機路徑下沒有software文件夾,則會自動建立software文件夾)

    • 給每個虛擬機安裝gcc, yum install make cmake gcc gcc++

      image.png

    • 若是虛擬機沒有zip和unzip命令的話,會提示這樣。

      image.png

    • 安裝zip和unzip命令 yum install zip unzip

      image.png

    • 解壓libfastcommon-master.zip, unzip libfastcommon-master.zip -d /usr/local/fast/

      image.png

    • 安裝vim, yum install vim-enhanced,否則./make.sh編譯會報錯。

      image.png

    • 進入/usr/local/fast/libfastcommon-master,使用./make.sh進行編譯。

      image.png

    • 執行./make.sh install

      image.png

    • 咱們能夠看到libfastcommon.so被安裝進入/usr/lib64,而/usr/lib64裏面東西巨他媽多,因此咱們必須建立一個屬於libfastcommon.so的軟連接,方便咱們查找libfastcommon.so。命令是: ln -s /usr/lib64/libfastcommon.so /usr/local/lib64/libfastcommon.so以此類推,我也要建立libfdfslclient.so 的軟連接。命令是: ln -s /usr/lib64/libfdfsclient.so /usr/local/lib64/libfdfsclient.so、 ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so

      image.png
      image.png

    • 咱們查看/usr/local 和 /usr/local/lib64發現libfdfsclient.so顏色是紅色,由於/usr/lib64尚未libfdfsclient.so文件。

      image.png

    • 解析FastDFS.tar.gz。 tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/

      image.png

    • 而後執行./make.sh和./make.sh install

      image.png
      image.png

    • 咱們能夠看到FastDFS服務器腳本安裝在了/usr/bin下面,可是FastDFS服務腳本設置的目錄爲/usr/local/bin下,因此咱們要修改/etc/init.d/fdfs_storaged和/usr/init.d/fdfs_trackerd這配置文件。將其中的/usr/local/bin設置爲/usr/bin。

    • 進入/etc/init.d/fdfs_storaged進行替換。命令:%s+/usr/local/bin+/usr/bin

      image.png
      image.png
      image.png

    • 進入/etc/init.d/fdfs_trackerd進行替換。命令:%s+/usr/local/bin+/usr/bin

      image.png
      image.png
      image.png

    • 公共部分的配置作完了,接下來搞tracker1(192.168.12.11)和tracker2(192.168.12.22)。

    • 進入/etc/fdfs下面,拷貝tracker.conf.sample一份,而且重命名爲tracker.conf

      image.png

    • 編輯tracker.conf,將base_path修改成/fastdfs/tracker

      image.png

    • 設置store_look的屬性(選擇羣組上傳文件的方法)。 0是輪詢, 1是指定group,3是負載均衡,選擇最大可用空間組去上傳文件。爲了方便後面的測試,我先將store_look設置爲0,只有store_look=1時,store_group=group2纔會生效。

      image.png
      image.png

    • 將tracker.conf拷貝給tracker2。 scp tracker.conf root@192.168.12.22:/etc/fdfs

      image.png

    • 因爲咱們在tracker.conf設置的base_url=/fastdfs/tracker,因此咱們要建立/fastdfs/tracker, mkdir -p /fastdfs/tracker, -p 表明遞歸建立目錄。

      image.png

    • 配置防火牆,添加端口22122。你可能會納悶了,爲何端口是22122?請看tracker.conf中默認的prot就是22122。

      image.png

    • 配置防火牆,vim /etc/sysconfig/iptables,可是咱們在/etc/sysconfig/下面沒有看到iptables

      image.png

FastDFS is an open source high performance distributed file system (DFS). It's major functions include: file storing, file syncing and file accessing, and design for high capacity and load balance.


###What to do tomorrow

  • 繼續配置FastDFS的負載均衡和集羣。大概3-4篇博客講解完。

###Summary

FastDFS真尼瑪複雜。

相關文章
相關標籤/搜索