一:┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈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台。集群可应用于大规模科学与工程计算,如流体力学计算、生物信息学等等。
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端安装的是同一个软件包,只不过配置部分不一样而导致执行的功能不一样,故称之为客户端。客户端共有四种安装方案,以面仅提供两种,另外两种请参考管理员手册。安装时,用户可以选择任意一种方案即可。
方案一
完全安装,即客户端的安装与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
Oracle技术论坛 http://www.oraforum.net
<!-- ++ plugin_code qcomic begin-->