HPC!!!
一:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈HPC簡介
二:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈硬件配置
三:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈系統的安裝
四:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈網絡設置
五:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈安裝NFS服務
六:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈安裝NIS服務
七:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈安裝RSH服務
八:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈安裝Fortran90編譯器
九:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈安裝并行環境 (mpich)
十:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈安裝作業管理(pbs)
十一:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈安裝EGS
十二:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈監控軟件(ganglia)
一:HPC簡介
集群(Cluster)是一個網絡計算和服務的集合體,是一組計算機。集群的各計算機之間通過網絡而相互聯系、協同工作,為應用和服務提供一套并行資源。 集群向用戶提供單一系統映像,集群內部結構對用戶是透明的。集群一般可分為三類:高性能計算集群(High Performance Computing Cluster)、高可用性集群(High Availability Cluster)和負載均衡集群(Load Balancing Cluster)。HPC集群有著光明的前景,2006年6月TOP500超級計算機排名中,集群系統占了364臺。集群可應用于大規??茖W與工程計算, 如流體力學計算、生物信息學等等。
2 HPC集群的優勢
HPC集群的優勢主要體現在高性價比(Performance/Cost Ratio)和良好的可擴展(Scalability)性兩個方面:
2.1高性價比:
傳統的并行計算機的價格高得驚人,通常以幾百萬元、幾千萬美元計,這樣的價格不是一般的研究機構、學校和中小企業能承擔得起的。而相同性能的HPC集群的 價格則相對便宜很多。如果把更新換代的PC機利用起來構建HPC集群,就可以不花費任何額外投資就可以得到一臺高性能的超級計算機。
2.2良好的可擴展性:
可擴展性是指在確定的應用背景下,計算機系統的性能隨處理機的增加而按比例提高的能力。它是評測并行計算機性能的一個重要指標。
傳統并行計算機系統的可擴展性瓶頸在于總線和內存的帶寬。當處理器增加到一定個數時,對總線和內存的利用就會達到極限,處理器再增加時,系統性能就很難再 提高。HPC集群的性能瓶頸主要在于CPU速度,網絡帶寬和I/O速度。當處理器個數增加時,網絡和I/O就會成為性能瓶頸。解決網絡瓶頸的辦法是增加網 絡帶寬,比如采用高速網卡,還可以用Myrinet網絡。在I/O方面,可采用高速存貯設備。解決了網絡和I/O瓶頸,集群的性能就會隨著處理器個數增加 而接近線性提高。
HPC高性能計算服務器集群系統是高性能計算和高可用技術 有機結合的性能強大、高可用的集群系統。在實際應用中,許多科學研究和商業企業的計算問題都可以通過HPC系統來解決。
HPC 可以在下列領域能夠幫助開發和研究人員進行建模和模擬,同時,以最快的速度計算出模擬的結果,為下一步開發和最終結構的確定提供及時可靠的依據:天氣預報 氣象 制藥企業的藥理分析 科研人員的大型科學計算問題 石油勘探中對石油儲量的分析 航空航天企業的設計和模擬化工企業中對分子結構的分析計算 制造業中的CAD/CAM系統和模擬試驗分析 銀行和金融業對經濟情況的分析生物/生命科學中生物分子研究和基因工程計算
二:硬件配置
略
三:系統安裝
系統使用的是最新的Red Hat出版的as4 up4 32位,會用這個系統最大的原因是因為Red Hat是目前支援的Linux 軟件最多的一個,安裝它之后,就比較不會欠東欠西的,此外,很多的軟件都是以Red Hat做為測試平臺,因此我就選擇他來做為我的系統平臺拉!Linux的安裝大家應該都很熟悉了,所以僅提幾個特別需要注意的地方:
1.
硬盤分區:
采用系統默認分區
2.系統安裝時所選擇的套件:
最好完全安裝。
四:網絡設置
1.設置網絡IP 機器名
8臺機器分別機器名和IP
服務器主節點:server IP:192.168.1.200
7臺節點機分別為:node1…..node7 IP為192.168.1.201…….192.168.1.207
各主機的主機名稱修改:/etc/sysconfig/network
五:NFS架設
將服務節點的根目錄下建一個/data目錄,并將它分享出去。由于我這里預要設定NIS,我的Cluster所有的帳號都在NIS的管制之中,因此,我將server的/home
也要分享出來,并且每部node1節點主機都掛載server的/home才成。
程序設定:
1.務器節點(server)設置:
以root用戶登陸并執行操作,啟動portmap并且設定開機啟動:
[root @server root]#/etc/rc.d/init.d/portmap start
[root @server root]#chkconfig --level 35 portmap on
設定NFS分享出去,根目錄下新建一個data,把/data /home并分享出去
[root @server root]#mkdir /data
[root @server root]#vi /etc/exports;查看分享目錄
/home 192.168.1.0/24(rw,async,no_root_squash)
/data 192.168.1.0/24(rw,async,no_root_squash)
;把/data和 /home分享出來,并且在192.168.1.0這個網段里并具有root權限
[root @server root]mount –a;生效
[root @server root]exportfs –rv
[root @server root]/etc/rc.d/init.d/nfs start
[root @server root]chkconfig –level 35 nfs on
生效查看分享,并設置自動啟動
2.點機node1….node7的設置
[root @server root]#/etc/rc.d/init.d/portmap start [root @server root]# chkconfig --level 35 portmap on
[root @server root]mkdir /data;新建data目錄
[root @server root]mount server:/data /data
[root @server root]mount server:/home /home
新建/data目錄,并將服務節點分享出來的/data和home分別掛載在本節點的/data 和/home目錄下,測試如果成功,將指令寫入/etc/fstab當中
[root @server root]vi /etc/fstab
server:/data /data nfs
server:/home /home nfs
在每臺節點機上都執行以上操作,以便在每臺節點機上啟動都能自動mount服務節點資源
六:NIS設置
NIS即網絡信息系統。NIS的設定也很簡單,不過主要還是要分為NIS服務端和NIS客戶端兩部分來設定的!請注意,在設定之前,就已經將NFS搞定!這些流程都是有一定程度的相關性的。
1.
在主節點服務器(server)上的設定
a)以root用戶登陸服務器節點(server)
檢查服務器節點是否有安裝下列軟件
ypserv
ypbind
yp-tools
make
分別用rpm –qa|grep ***查看上面每個軟件,少什么包就裝什么包
b)編輯/etc/sysconfig/network并加入下列一行:
[root @server root]vi /etc/sysconfig/network
NISDOMAIN=cluster;cluster為NIS服務器名
[root @server root]domainname cluster ;使服務器立該生效
c)編輯/var/yp/Makefile,找到 all:passwd group...這一行,并修改如下:
all:passwd group
d)啟動ypserv服務
[root @server root]service ypserv start
e)初始化數據庫
[root @server root]/usr/lib/yp/ypinit –m
按[ctrl+d]保存退出。注:若以上配置有問題,會顯示出錯!如果無錯誤,再重啟ypserv
[root @server root]service ypserv restart
[root @server root]service yppasswdd start
啟動密碼進程
f)檢查進程是否真的運行:
[root @server root]ps auxf|grep yp
[root @server root]tail /var/log/messages
2.在節點機上的設置(node1..node7)
在每個節點上分別以root登陸,并分別在各節點上執行下列操作:
a)
檢查各個節點是否安裝下列包:
portmap
ypbind
yp-tools
authconfig
少什么包就裝什么包:
查看服務器主機server是否打開portmap服務:
[root @server root]rpcinfo –p 192.168.1.200
b)
在節點機上運行 authconfig工具,配置客戶端訪問服務器:
[root @server root]authconfig
在出現的圖形框內選中"Use Nis"打勾,再點“NEXT”,在隨后出現的對話框內里Domain:后面輸入 cluster 在Server 里輸入主服務器(server)的IP地址。192.168.1.200
c)
ypbind會自動啟動觀察/var/log/messages有無報錯,在節點機上運行ypcat passwd看服務器提供了那些用戶
[root @server root]ypcat passwd
[root @server root]cd /var/yp
[root @server root]make
更新帳戶
d)
NIS服務器測試
1試著在服務器上新建帳戶test,看能否用test登陸服務器;再用test看能否登陸各個節點?如果不行!就進到服務器(server)/var/yp目錄里,運行make再在各節點上試試看能否登陸各節點?
[root @server root]cd /var/yp
[root @server root]make
2 在節點機上新建帳戶test1,看能否在本節點機登陸
注:將試過如果服務器節點沒有把/home分享出來的話,各節點能登陸但有問題出現!
還有一個現象就是假如各節點在mount 服務器/home前就新建用戶,然后再mount務服器/home 會出現一個現象是,不能用服務器新建用戶登陸圖形介面。
解決辦法是:
[root @server root]umount /home
[root @server root]userdel ***;**代表原來節點建的用戶
[root @server root]rm –rf *;刪除原來home下的所有文件
[root @server root]mount server:/home /home;重新mount一切都解決
七:設置RSH
由于各臺之間都要互相登陸,所以每臺都要安裝RSH,而且服務器主節點和各節點都執行同樣操作。
a)分別以root用戶登陸并在服務器節點(server)和(node1..node7)里創建hosts.equiv文件,并加入各各機器的機器名或IP
[root @server root]vi /etc/hosts.equiv
server
node1
.
.
node7
b)在服務器(server)和各節點機(node1..node7)上運行ntsysv,選中rexec,rlogin,rsh三項服務,都正常啟動:
[root @server root]ntsysv
在服務器和節點機上運行
[root @server root]echo “rexec”>>/etc/securetty
[root @server root]echo “rlogin”>>/etc/securetty
[root @server root]echo “rsh”>>/etc/securetty
或者用vi /etc/securetty把rexec rlogin rsh寫入到vi /etc/securetty里面
c)在服務器和節點機上登陸用戶根目錄下創建一個.rhosts文件,填入所有服務器和節點的機器名或IP+用戶名
如root用戶要使用RSH無密碼登陸:,如果需要root用戶登陸,到機器上用
[root @server root]vi /etc/pam.d/rsh
auth required /lib/security/pam_securetty.so;一行用“#“注釋掉
[root @server root]vi /root/.rhosts
server root ;或者用IP 192.168.1.200 root
node1 root
..
..
node7 root
如果不作任何限制的話,/etc/hosts.allow /etc/hosts.delly 不用設置。都為空
d)測試 在各機器上分別用root用戶登陸,運行
[root @server root]rsh server ;會出現
onnect to address 192.168.1.200: Connection refused
Trying krb4 rlogin... connect to address 192.168.1.200: Connection refused trying normal rlogin (/usr/bin/rlogin) Last login: Tue Jun 27 18:32:37 from 192.168.1.202
注:原因是AS4 用拉kerboy安全機制,解決辦法如下
[root @server root]which rsh;會出現下面
/usr/kerberos/bin/rsh
再運行
[root @server root]rpm –qf /usr/kerberos/bin/rsh;會出現下面
krb5-workstation-1.3.4-27
[root @server root]rpm –e krb5-workstation-1.3.4-27;把它刪除就OK
八:Fortran90編譯器
在服務器建立一個cluster用戶,用這個用戶來使用和運行程序
fortran 90 文件名為pgilinux86-625[1].tar.gz把它拷入服務器主節點(server)
把fortran 90安裝在服務器節點下的/data目錄里,因為服務器通過NFS已把它共享出去,每個用戶都能使用它;下載站點http://www.pgroup.com/downloads.htm
在server服務器上以root用戶登陸,
[root @server root]useradd cluster
[root @server root]passwd cluster
[root @server root]/var/yp/make
建立cluster用戶,并使其它結點都升效
[root @server root]tar –zxvf pgilinux86-625[1].tar.gz
[root @server root]cd pgilinux***
[root @server root]./install.sh ;在下面出現安裝路徑時,更改為/data其它默認
接下來會有一些問題,請依序回答你的問題!最重要的地方,是在第三個問題,他會問你要安裝的目錄,請選擇 /data/pgi
[root @server root]chown –R cluster.cluster /data;把/data負給cluster用戶
[root @server root]vi /home/cluster/bash_profile;設置cluster環境變量
PGI=/data/pgi
export PGI
PATH=/data/pgi/linux86/6.2/bin PATH
export PATH
MANPATH=/data/pgi/linux86/6.2/man
export MANPATH
九:安裝并行(mpich2)
MPI是消息傳遞并行程序設計的標準之一
前面提到過,安裝MPICH是平行運算里面最重要的一項工作!因為我們就是靠它來幫我們達成運作的!那么怎么安裝呢?
下載網址:http://www-unix.mcs.anl.gov/mpi/mpich/download.html
假設我將mpich下載在/data里面,并且預計要安裝到/data/mpich當中
1.把mpich2
拷貝到/data目錄下并解壓安裝
[root @server root]cd /data
[root @server root]tar –zxvf mpich-**.gz
[root @server root]cd mpich-**
[root @server root]./configure –prefix=/data/mpich
[root @server root]make
[root @server root]make install
2.
建立可以利用的主機節點:
[root @server root]cd /data/mpich/share
[root @server root]vi /machines.LINUX
server:4
node1:4
..
..
node7:4
這個檔案中,格式為《主機名稱》:《主機的CPU個數》 我們這由于是4核所以是4
3.設置環境變量:(以cluster為準)
[root @server root]vi /home/cluster/bash_profile ;在里面加入一些資料
PATH=$PATH:/data/mpich/bin
Export PATH
MPI_HOME=/data/mpich
MPI_ARCH=$MPI_HOME/bin/tarch
export MPI_HOME MPI_ARCH
4.MPICH并行環境測試
[root @server root]cd /data/mpich/examples
[root @server root]make cpi
[root @server root]./mpirun –np 1 cpi ;測試看是否成功
[root @server root]./mpirun –np 8 cpi ;測試是否每臺機器顯示運行一次
[root @server root]cd /data/mpich/examples ;測試F90
[root @server root]make pi3f90
[root @server root]mpirun –np 8 pi3f90
注:可能出現的問題排除
1.查看/etc/hosts.equiv是
否有誤。 2.查看RSH互相登陸是否不須要密碼
2.
查看mpich安裝的目錄是否在服務器上用NFS分享出來
十:OPENPBS安裝
OpenPBS: 免費軟件,是作業管理系統,對作業進行基于隊列的管理,OpenPBS是一個用于高可用性集群環境下的負載均衡的調度軟件,最初由NASA贊助開發,現在開源 版本已經不再繼續開發、更新。而成立了一個公司開發了openPBS的商業版。盡管如此,并不防我們的使用,國內很多高性能集群系統的調度軟件均以 openPBS基礎。下面僅介紹openPBS的安裝與配置。以下的安裝假定用戶已經配置好了rsh、nfs等相關環境。下面的安裝部分分為server 端和client端,所
謂的server端一般也即服務進程和調度進程所在的節點,而client端即為任務執行進程所在的節點。
1.
服務節點(server)上安裝:
假定把openpbs和補丁放在/data目錄下,并將它解壓出來,必須以root用戶操作
[root @server root]tar –zxvf openpbs***.gz
解壓openpbs*.gz后,會在當前目錄下創建一個openpbs*的目錄
打上補丁pbs.patch,把pbs.patch拷貝到剛解壓出來的openpbs*目錄里
[root @server root]cp pbs.patch openpbs*
[root @server root]patch -p1 –b<pbs.pathc ;打補丁說明-P1,P后面是數字1,不是字母L
[root @server root]./configure –enable-docs –disable-gui
其中:
--enable-docs 指定要編譯文檔
--disable-gui 指定去掉圖形界面. 因為圖形界面要求需要tcl-8.0以上支持 可以用-prefix指定安裝目錄,默認情況,PBS會安裝在/usr/spool/PBS目錄
編譯安裝
[root @server root]make
[root @server root]make install ;服務端已經安裝完成
服務端(server)的配置
一般來說, PBS系統必須有一個server和至少一個mom(任務執行進程), server負責作業的提交, mom接受server的控制,負責作業的執行。
下面假設pbs安裝的根目錄為 $PBS_HOME, server節點名為server, client節點名為node1、node7。注意:實際環境中$PBS_HOME請用實際的pbs home目錄的路徑取代,一般情況下,$PBS_HOME=/usr/spool/PBS
a )配置server_name
在server節點的/usr/spool/PBS/server_name文件中寫入選定的server節點的主機名
echo “server”>/usr/spool/PBS/server_name
說明:
1. 當然,也可用vi等任何編輯工具打開server_name文件,然后寫入server。實際環境中必須使用真正的hostname來代替server,以下這種內容將不再解釋。
2. 默認情況下寫入的為本機節點名,即server。
B )配置節點列表
在服務器(server)上,已root登陸,并在/usr/spool/PBS/server_priv 目錄下創建一個nodes文件,并寫入
node1 np=10
node2 np=10
…
…
node7 np=10
說明:
1. node1..node7為執行任務的節點名,實際環境中必須用相應的機器名代替。2. np代表虛擬處理器個數,實際上也就是該節點最多可以同時跑多少個任務
至此,server端的安裝、配置部分就已經全部完成了。
服務端啟動
[root @server root]cd /usr/local/sbin
[root @server root]./pbs_server -t create
;啟動Openpbs服務器第一次啟動要加-t create參數 ,以后就不用
[root @server root]./pbs_sched ;啟動調度器
(建議 在$HOME/.bash_profile中加入
OPENPBSDIR=/usr/local/OpenPBS
PATH=$PATH OPENPBSDIR/bin: $OPENPBSDIR/sbin
export OPENPBSDIR PATH
2.客戶端節點(node1…node7)安裝
在需要運行任務的所有節點上安裝openPBS客戶端,實際上server和client端安裝的是同一個軟件包,只不過配置部分不一樣而導致執行的功能 不一樣,故稱之為客戶端??蛻舳斯灿兴姆N安裝方案,以面僅提供兩種,另外兩種請參考管理員手冊。安裝時,用戶可以選擇任意一種方案即可。
方案一
完全安裝,即客戶端的安裝與server端的安裝完全一樣。
優點:
以后可以隨意的選擇一個節點作為server端,別的節點作為client端。更改后,不用重新安裝軟件包,只需按照server端、client端的配置把相應的配置文件建立起來就可以。
缺點:
通常情況下,只運行一個server端,這樣client端就顯得多安裝了一些沒有用到的東西,從而造成一種“浪費”。
方案二
部分安裝,這種安裝方式與server端的安裝基本完全一樣。只是在運行OpenPBS配置腳本時,把.configure相應的設置為
.configure --disable-gui --disable-server --set-sched=no
其余地方均完全相同。
說明:
--disable-gui 指定去掉圖形界面. 因為圖形界面要求需要tcl-8.0以上支持,
--set-sched=no指名本節點不負責任務調度。
還可用-prefix指定安裝目錄,默認情況,PBS會安裝在/usr/spool/PBS目錄下。
優點:
根據“夠用則可”原則,減少一些不必要的安裝部分。
缺點:
如果想把client作為server端使用時,則需要重新安裝與配置。這樣似乎是多
了一點點麻煩。 實際安裝時,用戶可以根據個人需要,選擇任意一種方案即可。
[root @server root]make
[root @server root]make install
客戶端配置
配置server_name
在所有client節點的$PBS_HOME/server_name(一般為:/usr/spool/PBS/server_name)文件中,寫入選定的server節點的主機名
echo "server" > $PBS_HOME/server_name
說明:
1. 當然,也可用vi等任何編輯工具打開server_name文件,然后寫入server。實際環境中必須使用真正的hostname來代替server。
2. 默認情況下寫入的為本機節點名,當然也可在運行configure時指定。
配置mom節點
配置client節點,使其接受server節點的控制。編輯每個client節點的 $PBS_HOME/mom_priv目錄下(此處為:/usr/spool/PBS/mom_priv)的config文件,如果沒有這個文件,則自己 創建一個就ok了。 寫入如下信息
$logevent 0x1ff
$clienthost MS8
說明:
1. $logevent 指定的日志的級別, 0x1ff表示記錄作業運行事件的所有日志信息。一般默認使用這個就可以。
2. $clienthost 指定的server的節點名,此處為server,實際環境請用相應的來取代。
3. 一定要以“$”符號開頭,否則運行時會出錯。
至此,openPBS軟件包的安裝、配置都已經全部完成了。
客戶端啟動
[root @server root]cd /usr/local/sbin
[root @server root]./pbs_mom
在務務器主節點(server)創建隊列
以root用戶登陸(server)
用qmgr創建隊列,例如:
#創建隊列,并命名為normal
qmgr -c "c q normal"
#設定隊列的類型為Execution
qmgr -c "s q normal queue_type=Execution"
#設定該隊列中任務最大運行時間為24小時(CPU時間)
qmgr -c "s q normal resources_max.cput=24:00:00"
#設定該隊列中任務最小運行時間為1秒(CPU時間)
qmgr -c "s q normal resources_min.cput=1"
#設定該隊列中任務默認運行時間為12分鐘(CPU時間)
qmgr -c "s q normal resources_default.cput=12:00"
#enable queue
qmgr -c "s q normal enabled=true"
#start queue
qmgr -c "s q normal started=true"
#將normal隊列設定為默認隊列
qmgr -c "s s default_queue=normal"
qmgr的參數中-c代表命令行,引號(“”)中的內容是要執行的命令。
其中c是create, s是set, q是queue,所以,上述命令可以寫作:
qmgr –c “set queue normal enabled=true”
提交任務可以用qsub,只有非root用戶才可以提交任務。
十一:監控軟件(Ganglia)安裝配置
Ganglia是一個分布式的監控工具,用來對Grid和Cluster上面的節點進行監控,利用它提供的web界面可以看到每個節點狀態,并且可以輸出圖形化的表示。
安裝過程:
首先安裝rrdtool(Round Robin Database Tool),rrdtool是一個數據庫軟件。它是一個主要用于進行監控的數據庫,與其它的數據庫相比,具有以下三個特點:
1.
除了存儲數據之外,它具有可以創建圖形的工具;
2.它的數據庫文件大小是固定的,新的數據添加到已有數據的后面,當到了文件末尾的時候就開始從文件開始寫數據,Round Robin就是指這個意思;
3.一般的數據庫只能存儲數據本身,而rrd可以存儲相對與以前的數據的變動;
4.一般的數據庫是在提供數據的時候才更新,而RRD是在每一個預先設好的時間間隔都會更新,每次更新的時候,time stamp也會存儲進去。
Ganglia監控軟件主要是用來監控系統性能的軟件,如:cpu 、mem、硬盤利用率, I/O負載、網絡流量情況等,通過曲線很容易見到每個節點的工
作狀態,對合理調整、分配系統資源,提高系統整體性能起到重要作用。支持瀏覽器方式訪問,但不能監控節點硬件技術指標 ganglia 是分布式的監控系統,有兩個Daemon, 分別是:客戶端Ganglia Monitoring Daemon (gmond)和服務端Ganglia Meta. Daemon (gmetad),還有Ganglia PHP Web Frontend(基于web的動態訪問方式)組成。是一個Linux下圖形化監控系統運行性能的軟件,界面美觀、豐富,功能強大。 RRDtool是系統存放和顯示time-series (即網絡帶寬、溫度、人數、服務器負載等) 。并且它提出有用的圖表由處理數據強制執行有些數據密度。 Ganglia依賴以下包:
zlib-1.2.2-4 libpng-1.2.1-6 freetype2-2.1.7-2 libart_lgpl-2.3.16-1 rrdtool-1.2.11
perl
1.服務器(server)上的安裝
A.
gmetad需要先安裝RRDTool,默認的安裝路徑:/usr/local/rrdtool
以root用戶登陸服務器(server);并把
rrdtool-1.2.15.tar.gz安裝
rrdtool-1.2.15.tar.gz,ganglia-3.0.3.tar.gz拷到/data目錄下
[root @server root]cd /data
[root @server root]tar -zxvf rrdtool-1.2.15.tar.gz
[root @server root]cd rrdtool-1.2.15
[root @server root]./configure –-prefix=/usr/local/rrdtool –-disable-tcl
[root @server root]make
[root @server root]make install
B.
gmetad的安裝(3.0.3)
gmetad 不是默認安裝的,安裝時需要加參數 --with-gmetad 。即rrdtool庫及其頭文件必須存在,默認的路徑是/usr/include/rrd.h和 /usr/lib/librrd.a,如果在安裝rrdtool時安在了不同的路徑下,這里需要指明它們的路徑。
[root @server root]cd /data
[root @server root]tar -zxvf ganglia-3.0.3.tar.gz
[root @server root]cd /ganglia-3.0.3
[root@serverroot]./configure –prefix=/usr/local/ganglia CFLAGS="-I/usr/local/rrdtool/include" CPPFLAGS="- I/usr/local/rrdtool/include" LDFLAGS="-L/usr/local/rrdtool/lib" --with-gmetad
[root @server root]make
[root @server root]make install
將gmetad.init文件拷貝到/etc/init.d/:
[root @server root]cd ganglia-3.0.3/gmetad
[root @server root]cp gmetad.init /etc/init.d/gmetad
將配置文件拷貝到/etc目錄下:
[root @server root]cp gmetad.conf /etc/gmetad.conf ;把配置文件拷到/etc目錄下
[root @server root]chkconfig gmetad on ;設置開機自動啟動
[root @server root]chkconfig --list gmetad
GMETAD 0 ff 1 ff 2 n 3:on 4:on 5:on 6:off
新建一個目錄/var/lib/ganglia/rrds,因為默認配置文件里把一些數據放這文件里
[root @server root]mkdir -p /var/lib/ganglia/rrds
啟動gmetad:
[root @server root]service gmetad start
Starting GANGLIA gmetad: [ OK ]
如果讓系統自啟動時就能自動啟動可以運行ntsysv,選中gmetad就OK
驗證gmetad 正常工作:
[root @server root]telnet localhost 8651 ;如果成功就可以得到各個主機的狀態
gmetad.conf的配置。要修改二個地方
[root @server root]vi /etc/gmetad.conf
1.setuid_username "nobody" 改成setuid_username "root" ;因為是用root用戶安裝,所以權限是root 2.# data_source "another source" 1.3.4.7:8655 1.3.4.8 data_source "SERVER" 10 node1 node2 data_source是最重要的參量,在GMOND的Cluser name配置必須與data_source的相同,這個參量被設置為群的名字,被監測以便能監測那群狀態。如果有二個或更多監測對象,當有一對象不能被監 測,將讀取data_source 配置的下一個對象。data_source 后面“ ”里面為設置監控的名字,可以隨便取。但客戶端配置文件里的Cluser name 要和這相同,node1 node2就是客戶端機器名或IP
安裝web前面
確定web server支持PHP4
對apache來說,php模塊mod_php的狀態應該是enabled,貌似默認就是的
配制文件是/var/www/html/ganglia/conf.php。把/data/ganglia-3.0.3目錄下的web拷貝到/var/www/html/ganglia
[root @server root]cp –a /data/ganglia-3.0.3/web /var/www/html/ganglia
在瀏覽器地址欄輸入http://localhost/ganglia/應該可以看到有頁面顯示了。
客戶端(client)安裝
在每個節點機(node1…node7)上分別以root登陸并安裝ganglia,把ganglia拷到/data目錄下
[root @server root]cd /data
[root @server root]tar –zxvf ganglia-3.0.0.tar.gz
[root @server root]cd ganglia-3.0.0
[root @server root]./configure
[root @server root]make
[root @server root]make install
[root @server root]cd gmond
[root @server root]./gmond –t > /etc/gmond.conf
[root @server root]cp gmond.init /etc/init.d/gmond
[root @server root]chkconfig gmond on
[root @server root]chkconfig –list gmond
gmond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root @server root]service gmond start
Starting GANGLIA gmond: [ OK ] 驗證gmond正常工作:telnet localhost 8649 就可以獲取機群內運行gmond
的主機的信息
配置gmond.conf:
[root @server root]vi /etc/gmond.conf
1.setuid = no user = nobody 把nobody改成user=root因為是以root用戶安裝所以權限改為root
2.修改監控組名稱
name = “cluster” 配置完成后重新啟動gmond.
3.
啟動gmond
[root @server root]service gmond start
如果讓系統自啟動時就能自動啟動可以運行ntsysv,選中gmetad就OK
ssh-keygen -t dsa
chmod 755 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
?
From : buliedian from iteye
總結
- 上一篇: 酒店系统主服务器是什么意思,酒店主服务器
- 下一篇: C# 中的泛型