distccd on CentOS

distccd 筆記

一、簡介:


什麼是 distcc ?distccd 是一個可以將 make 做分散式架構運作的 Service,
主要的過程是把 compile 交給網路上面的 Server,再把結果丟回給自己,
可增快你 build 的速度...

參考連結1:distccd source 發佈網站
參考連結2:參考 linuxjournal.com 的介紹文章

還有一些其他的加速方案如 ccache,而且還可以跟 distcc 一起使用。
有空再玩囉!

二、開始安裝:

由於我最常使用的是 CentOS,所以當然就先找找看哪邊有 rpm 囉!
嗯,果然有...

DAG distcc RPM packages for Red Hat, CentOS and Fedora

當然要使用 tarball 安裝也是可以的,請到參考連結網站下載 source,
照著一般 configure, make, make install 的方式即可。

安裝需要先確認你是否有 gcc,以及各 Server glibc 版本都要相等:
CODE:
yum update glibc

CODE:
 rpm -ivh distcc-2.18.3-2.2.el4.rf.i386.rpm 
distcc-server-2.18.3-2.2.el4.rf.i386.rpm


三、編輯組態:

啟動前需要先編輯 distccd 組態,CentOS上面的路徑是:
/etc/sysconfig/distccd
CODE:
OPTIONS="--nice 5 --jobs 5 --allow 192.168.0.0/16"
USER="distcc"


上面是我參考預設值略為修改成自己用的設定,job 可改大,allow 可更改網段,
可參考 man distcc 設定你想要的 OPTIONS.

另還有 hostlist 清單,這是 distcc 執行時,所需要參考的變數之一,
它一開始並不一定會存在,請自己建立一個,路徑為:

/root/.distcc/hosts

內容可以像這樣:

CODE:
192.168.0.1 192.168.0.2 localhost


請記住一定要有,不然即使服務成功啟動,也不會真的有用。

四、啟動服務:

CODE:
service distccd start


預設的 port 是 3632,若有 listen 即成功。

五、使用服務:

隨便下載個很大,要編譯很久的源碼,例如 MySQL 5.1
然後做完 configure 後, make 直接下參數即可:

CODE:
make -j8 CC=distcc


-j 參數是 job 數目,通常是 cpu 數目 + 1,
會參考 /root/.distcc/hosts 內的主機分散 make
若是該檔內只有 localhost 的話,就等於自己在 make 了。
經過實測,五台主機 make 完 MySQL 5.1 大約花費 3 分鐘..


可以用下面命令檢視情況:

CODE:
 distccmon-text 5


CPU 列表:
CPU1:Core2 Duo 2.0Ghz
CPU2:Xeon Core 2 Duo 1.8Ghz
CPU3:Athlon 3000+ (1800Mhz)
CPU4:Pentium4 3Ghz
CPU5:Pentium4 3Ghz
引用通告地址: 點擊獲取引用地址
標籤: Operating System 作業系統 應用服務 Application Service 網路 Network
評論: 0 | 引用: 0 | 閱讀: 716 | 轉發
發表評論
暱 稱: 密 碼:
網 址: E - mail:
選 項:    
頭 像:
內 容:
  • 粗體
  • 斜體
  • 底線
  • 插入圖片
  • 超連結
  • 電子郵件
  • 插入引用