Interesting things
好像今天沒有什么有趣的事情
What did you do today
創(chuàng)建虛擬機(jī)的時候,有時會拋出很多錯誤熊痴,解決方案:添加分配給虛擬機(jī)的內(nèi)存杨赤。
解決XShell-ssh連接虛擬機(jī)經(jīng)常被意外中斷的問題归园,vi /etc/ssh/sshd_config产艾,進(jìn)入去掉注釋#UseDNS no医男,改為UseDNS no冰垄,問題是ssh的服務(wù)端在連接虛擬機(jī)時會自動檢測dns環(huán)境是否一致導(dǎo)致的匠璧,修改為不檢測即可解決叨粘。
- 什么是FastDFS铐伴?通過作者的話來說FastDFS是一個開源的高性能分布式文件系統(tǒng)踱启。它的主要功能包括文件村存儲,文件同步和文件訪問蝴罪,以及高容量和負(fù)債均衡的設(shè)計董济。
-
輸入
https://sourceforge.net/projects/fastdfs/files/
-
下載FastDFS的Server安裝包,點(diǎn)擊FastDFS Server Source Code
-
選擇2014-12-02的版本進(jìn)行點(diǎn)擊要门,下載FastDFS_v5.05.tar.gz
,同理下載fastdfs-nginx-module_v1.16.tar和fastdfs_client_java._v1.25.tar
安裝8臺虛擬機(jī)(最小化安裝)虏肾,給這8臺虛擬機(jī)配置靜態(tài)ip并且能ping通外網(wǎng)和主機(jī)(可以參考我上一篇博客),配置完后使用XShell工具來操作虛擬機(jī)欢搜。
我使用的虛擬機(jī)分別為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集群多層負(fù)載均衡。多層負(fù)載均衡會生成一個虛擬ip,我們最終會通過虛擬ip來訪問我們的集群缘琅。
-
我們用Xftp 5連接192.168.12.11粘都,在/usr/local/ 創(chuàng)建software文件夾,然后在software下準(zhǔn)備好這些文件胯杭。
然后通過scp -r/user/local/software/ root@192.168.12.22:/usr/local這樣的方式給每一個虛擬機(jī)復(fù)制一份到它的/usr/local/software路徑下(如果目標(biāo)虛擬機(jī)路徑下沒有software文件夾驯杜,則會自動創(chuàng)建software文件夾)
-
給每一個虛擬機(jī)安裝gcc, yum install make cmake gcc gcc++
-
如果虛擬機(jī)沒有zip和unzip命令的話,會提示這樣做个。
-
安裝zip和unzip命令 yum install zip unzip
-
解壓libfastcommon-master.zip, unzip libfastcommon-master.zip -d /usr/local/fast/
-
安裝vim, yum install vim-enhanced滚局,不然./make.sh編譯會報錯居暖。
-
進(jìn)入/usr/local/fast/libfastcommon-master,使用./make.sh進(jìn)行編譯。
-
執(zhí)行./make.sh install
-
我們可以看到libfastcommon.so被安裝進(jìn)入/usr/lib64藤肢,而/usr/lib64里面東西巨他媽多太闺,所以我們必須創(chuàng)建一個屬于libfastcommon.so的軟鏈接,方便我們查找libfastcommon.so嘁圈。命令是:
ln -s /usr/lib64/libfastcommon.so /usr/local/lib64/libfastcommon.so以此類推省骂,我也要創(chuàng)建libfdfslclient.so 的軟鏈接。命令是:
ln -s /usr/lib64/libfdfsclient.so /usr/local/lib64/libfdfsclient.so最住、
ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
-
我們查看/usr/local 和 /usr/local/lib64發(fā)現(xiàn)libfdfsclient.so顏色是紅色钞澳,因?yàn)?usr/lib64還沒有l(wèi)ibfdfsclient.so文件。
-
解析FastDFS.tar.gz涨缚。
tar -zxvf FastDFS_v5.05.tar.gz -C /usr/local/fast/
-
然后執(zhí)行./make.sh和./make.sh install
我們可以看到FastDFS服務(wù)器腳本安裝在了/usr/bin下面轧粟,但是FastDFS服務(wù)腳本設(shè)置的目錄為/usr/local/bin下,所以我們要修改/etc/init.d/fdfs_storaged和/usr/init.d/fdfs_trackerd這配置文件脓魏。將其中的/usr/local/bin設(shè)置為/usr/bin兰吟。
-
進(jìn)入/etc/init.d/fdfs_storaged進(jìn)行替換。命令:%s+/usr/local/bin+/usr/bin
-
進(jìn)入/etc/init.d/fdfs_trackerd進(jìn)行替換茂翔。命令:%s+/usr/local/bin+/usr/bin
公共部分的配置做完了混蔼,接下來搞tracker1(192.168.12.11)和tracker2(192.168.12.22)。
-
進(jìn)入/etc/fdfs下面珊燎,拷貝tracker.conf.sample一份惭嚣,并且重命名為tracker.conf
-
編輯tracker.conf,將base_path修改為/fastdfs/tracker
-
設(shè)置store_look的屬性(選擇群組上傳文件的方法)俐末。 0是輪詢料按, 1是指定group,3是負(fù)載均衡卓箫,選擇最大可用空間組去上傳文件载矿。為了方便后面的測試,我先將store_look設(shè)置為0,只有store_look=1時闷盔,store_group=group2才會生效弯洗。
-
將tracker.conf拷貝給tracker2。
scp tracker.conf root@192.168.12.22:/etc/fdfs
-
由于我們在tracker.conf設(shè)置的base_url=/fastdfs/tracker逢勾,所以我們要創(chuàng)建/fastdfs/tracker, mkdir -p /fastdfs/tracker牡整, -p 代表遞歸創(chuàng)建目錄。
-
配置防火墻溺拱,添加端口22122逃贝。你可能會納悶了,為什么端口是22122迫摔?請看tracker.conf中默認(rèn)的prot就是22122沐扳。
-
配置防火墻,vim /etc/sysconfig/iptables,但是我們在/etc/sysconfig/下面沒有看到iptables
-
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
- 繼續(xù)配置FastDFS的負(fù)載均衡和集群句占。大概3-4篇博客講解完沪摄。
Summary
FastDFS真尼瑪復(fù)雜。