distcc配置


1、需要 python 頭文件,下載安裝。

 

2、下載安裝 distcc-3.1.tar.bz2。

 

3、export DISTCC_HOSTS='localhost 10.10.13.162‘     //添加所有欲分發的distcc服務器IP列表,ip應按各服務器性能由好到差排列。

export DISTCC_VERBOSE=1   //給出調試信息

export DISTCC_LOG=”/root/disstcc.log”     //編譯出錯時可以查看日志,默認路徑是 /var/log/messages

以上可以寫入到 ~/.bash_profile 中,以便開機有效。

 

4、在每一台服務器上安裝好 distcc 之后,先啟動服務器 distccd --daemon --user nobody --allow 10.10.0.0/16  接收來自10.10網段的所有TCP連接,最好加入開機啟動。(如果不加--user nobody則會提示:distccd[4596] (dcc_preferred_user) Warning: no such user as "distcc")

 

5、可以通過 distccmon-text 1 命令查看分布編譯情況,1表示1秒。如果在 ./configure 時,加上了 --with-gnome or --with-gtk 選項,則還可以使用 distccmon-gnome 1 這個圖形界面來查看。

 

6、可以和 ccache 配合 : time make -j12 CXX="ccache distcc",不過感覺同時使用 distcc 和 ccache 的效果跟只使用 distcc 的效果差不多。如果只有一台機器,就使用 ccache ,如果有多台機器就只使用 distcc 吧。

 

7、使用 dmucs 配合 distcc 解決分布式編譯的負載均衡問題:

http://www.ibm.com/developerworks/cn/aix/library/0905_yangyi_distcc/

 

 

下面轉自:http://blog.chinaunix.net/uid-20553497-id-3214404.html

distcc是一個分布式的編譯工具,包含distccd和distcc。其中distccd是服務端,需要安裝在遠程協助編譯的多台服務器上,而distcc是一個客戶端,需要安裝在分發編譯任務的服務器上。centos可以直接在http://pkgs.repoforge.org/distcc/ 上下載2個RPM包:

distcc-2.18.3-2.el5.rf.x86_64.rpm
distcc-server-2.18.3-2.el5.rf.x86_64.rpm
 
test[1-5].inner.net是我的5台服務器,直接在5台服務器上都安裝這2個包,然后同步一下5台服務器的配置文件

  1. # cat /etc/sysconfig/distccd
  2. ### See distcc(1) manual page for more information on these options.
  3. ###
  4. OPTIONS="--nice 5 --jobs 10 --port 3632 --allow 127.0.0.1 --allow 10.0.0.0/8 "
  5. #USER="distcc"
  6. ### Set this if don't want distccd to use gcc or g++ by accident.
  7. #DISTCCPATH="/usr/lib/distcc/bin"
紅色部分是需要注意的,distcc默認使用的端口是3632,而distccd默認的端口是1234,這個搞得我查了很久才找到原因。
 
修改配置后對於每個服務器 

  1. chkconfig --level 2345 distccd on
  2. service distccd restart
然后就可以使用了,以編譯nginx為例
 

  1. export CC=distcc; ./configure
  2. export DISTCC_HOSTS="test1.inner.net .... test5.inner.net"
  3. make -j 20
這樣就會向每台服務器分發出任務。
預處理工作其實還是在分發任務的機器上執行的,然后把預處理后的代碼傳輸到遠程服務器,編譯成.o文件,再取回來鏈接生成可執行程序。
 
編譯的時候參與編譯的服務器上可以看到日志 tail /var/log/distccd.log
分發編譯任務的機器上可以使用  distccmon-text 1查看編譯任務的分發


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM