WBITT

We Bring In Tomorrows Technology

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Ganglia Installation for a cluster (HA, LB, HPC)

E-mail Print PDF
User Rating: / 7
PoorBest 

Date : 13-Oct-2009

Ganglia installation Howto By Syed Asim Abbas

For comments and suggestions : asimabbas31 at gmail dot com

------------------------------------------------------

Ganglia is monitring system for high performance computing systems

We have two node potter.isb.ots.com and harry.isb.ots.com both are HPC nodes.

For HPC installation

http://www.wbitt.com/contributed-howtos/107-linux-high-performance-computing-cluster-how-to.html

#######Download Ganglia Package

[root@potter ~]# wget http://downloads.sourceforge.net/project/ganglia/ganglia%20monitoring%20core/3.1.2%20%28Langley%29/ganglia-3.1.2.tar.gz?use_mirror=nchc

[root@potter ~]# cd tmp/

[root@potter tmp]#

[root@potter tmp]# tar zxvf ganglia-3.1.2.tar.gz

ganglia-3.1.2/

ganglia-3.1.2/build/

ganglia-3.1.2/build/config.guess

ganglia-3.1.2/build/config.sub

ganglia-3.1.2/build/depcomp

[root@potter tmp]# cd ganglia-3.1.2

 

 

[root@potter ganglia-3.1.2]# whereis python

python: /usr/bin/python2.5 /usr/bin/python2.5-config /usr/bin/python /usr/lib/python2.5 /usr/include/python2.5 /usr/share/man/man1/python.1.gz

[root@potter ganglia-3.1.2]# ./configure --with-python=/usr/bin/python2.5 --with-gmetad --enable-status

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking build system type... i686-pc-linux

checking host system type... i686-pc-linux

checking for gcc... gcc

checking for C compiler default output file name... a.out

#####ERROR

checking rrd.h presence... no

checking for rrd.h... no

checking for rrd_create in -lrrd... no

Trying harder by including the X library path

checking for rrd_create in -lrrd... no

#####RRDTOOLs required

[root@potter tmp]# yum install rrdtool*

Loaded plugins: refresh-packagekit

Setting up Install Process

Parsing package install arguments

Package rrdtool-1.3.8-1.fc10.i386 already installed and latest version

Resolving Dependencies

--> Running transaction check

---> Package rrdtool-php.i386 0:1.3.8-1.fc10 set to be updated

---> Package rrdtool-ruby.i386 0:1.3.8-1.fc10 set to be updated

--> Processing Dependency: ruby(abi) = 1.8 for package: rrdtool-ruby

--> Processing Dependency: libruby.so.1.8 for package: rrdtool-ruby

---> Package rrdtool-devel.i386 0:1.3.8-1.fc10 set to be updated

---> Package rrdtool-python.i386 0:1.3.8-1.fc10 set to be updated

---> Package rrdtool-tcl.i386 0:1.3.8-1.fc10 set to be updated

--> Processing Dependency: tcl >= 8.0 for package: rrdtool-tcl

---> Package rrdtool-doc.i386 0:1.3.8-1.fc10 set to be updated

---> Package rrdtool-perl.i386 0:1.3.8-1.fc10 set to be updated

--> Running transaction check

---> Package tcl.i386 1:8.5.3-1.fc10 set to be updated

---> Package ruby-libs.i386 0:1.8.6.287-2.fc10 set to be updated

--> Finished Dependency Resolution

Dependencies Resolved

===============================================================================================================================================

Package Arch Version Repository Size

===============================================================================================================================================

Installing:

rrdtool-devel i386 1.3.8-1.fc10 updates 27 k

rrdtool-doc i386 1.3.8-1.fc10 updates 237 k

rrdtool-perl i386 1.3.8-1.fc10 updates 39 k

rrdtool-php i386 1.3.8-1.fc10 updates 24 k

rrdtool-python i386 1.3.8-1.fc10 updates 27 k

rrdtool-ruby i386 1.3.8-1.fc10 updates 17 k

rrdtool-tcl i386 1.3.8-1.fc10 updates 20 k

Installing for dependencies:

ruby-libs i386 1.8.6.287-2.fc10 fedora 1.7 M

tcl i386 1:8.5.3-1.fc10 fedora 2.2 M

Transaction Summary

===============================================================================================================================================

Install 9 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

Total download size: 4.3 M

Is this ok [y/N]: y

Downloading Packages:

###########Again configure ganglia

[root@potter ganglia-3.1.2]# ./configure --with-python=/usr/bin/python2.5 --with-gmetad --enable-status

The ganglia graphs are created using RRDTool (http://www.rrdtool.org/)

Checking for python

checking Python version... 2.5

checking Python support... yes

Checking for apr

checking for apr-1-config... /usr/bin/apr-1-config

checking for apr_socket_send in -lapr-1... yes

The ganglia utilities use the Apache Portable Runtime functions (http://www.apache.org/)

Found a suitable libapr1 library

Checking for confuse

checking for cfg_parse in -lconfuse... no

Trying harder including gettext

checking for cfg_parse in -lconfuse... no

Trying harder including iconv

checking for cfg_parse in -lconfuse... no

libconfuse not found

###########Again error ok rrdtools installed now libconfuse required

[root@potter ~]# yum install libconfuse*

===============================================================================================================================================

Package Arch Version Repository Size

===============================================================================================================================================

Installing:

libconfuse i386 2.6-1.fc9 fedora 86 k

libconfuse-devel i386 2.6-1.fc9 fedora 15 k

[root@potter ganglia-3.1.2]# ./configure --with-python=/usr/bin/python2.5 --with-gmetad --enable-status

config.status: creating config.h

config.status: executing depfiles commands

Welcome to..

______ ___

/ ____/___ _____ ____ _/ (_)___ _

/ / __/ __ `/ __ \/ __ `/ / / __ `/

/ /_/ / /_/ / / / / /_/ / / / /_/ /

\____/\__,_/_/ /_/\__, /_/_/\__,_/

/____/

Copyright (c) 2005 University of California, Berkeley

[root@potter ganglia-3.1.2]# make

make all-recursive

make[1]: Entering directory `/tmp/ganglia-3.1.2'

Making all in lib

make[2]: Entering directory `/tmp/ganglia-3.1.2/lib'

if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/apr-1 -I.. -I. -I../include/ -D_LARGEFILE64_SOURCE -g -O2 -fno-strict-aliasing -Wall -D_REENTRANT -MT getopt1.o -MD -MP -MF ".deps/getopt1.Tpo" -c -o getopt1.o getopt1.c; \

then mv -f ".deps/getopt1.Tpo" ".deps/getopt1.Po"; else rm -f ".deps/getopt1.Tpo"; exit 1; fi

if gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/apr-1 -I.. -I. -I../include/ -D_LARGEFILE64_SOURCE -g -O2 -fno-strict-aliasing -Wall -D_REENTRANT -MT getopt.o -MD -MP -MF ".deps/getopt.Tpo" -c -o getopt.o getopt.c; \

[root@potter ganglia-3.1.2]# echo $?

0

########No error make successful

#########now make install

[root@potter ganglia-3.1.2]# make install

Making install in lib

make[1]: Entering directory `/tmp/ganglia-3.1.2/lib'

make[2]: Entering directory `/tmp/ganglia-3.1.2/lib'

test -z "/usr/lib" || mkdir -p -- "/usr/lib"

#######Gnaglia installed successfully

###########Now start configuration

#########copy web dir and services from ganglia

[root@potter ganglia-3.1.2]# cp -a web /var/www/html/ganglia/

[root@potter ganglia-3.1.2]# cp gmetad/gmetad.init /etc/rc.d/init.d/gmetad

[root@potter ganglia-3.1.2]# mkdir /etc/ganglia

[root@potter ganglia-3.1.2]# cp gmetad/gmetad.conf /etc/ganglia/

[root@potter ganglia-3.1.2]# mkdir -p /var/lib/ganglia/rrds

[root@potter ganglia-3.1.2]# chown nobody:nobody /var/lib/ganglia/rrds

[root@potter ganglia-3.1.2]# chkconfig --add gmetad

[root@potter ganglia-3.1.2]# chkconfig --add gmond

error reading information on service gmond: No such file or directory

[root@potter ganglia-3.1.2]# cp gm

gmetad/ gmetric/ gmond/

[root@potter ganglia-3.1.2]# cp gmond/gmond.init

gmond.init gmond.init.SuSE

[root@potter ganglia-3.1.2]# cp gmond/gmond.init /etc/rc.d/init.d/gmond

############Open configuration file and edit the following lines

[root@potter ganglia-3.1.2]# vi /etc/ganglia/gmetad.conf

cluster {

name = "Beowulf"

owner = "Asim Abbas"

latlong = "unspecified"

url = "unspecified"

}

#########Add the line under modules section

module {

name = "python_module"

path = "modpython.so"

params = "/usr/lib/ganglia/" #####change your lib path depand on system arch

}

########Start services

[root@potter ganglia]# /etc/init.d/gmond start

Starting GANGLIA gmond: [ OK ]

[root@potter ganglia]# /etc/init.d/gm

gmetad gmond

[root@potter ganglia]# /etc/init.d/gmetad start

Starting GANGLIA gmetad: [ OK ]

[root@potter ganglia]# /etc/init.d/httpd restart

Stopping httpd: [FAILED]

Starting httpd: [ OK ]

[root@potter ganglia]# ps aux |grep http

root 11347 0.1 4.6 32944 11732 ? Ss 07:29 0:00 /usr/sbin/httpd

apache 11349 0.0 2.1 33076 5356 ? S 07:29 0:00 /usr/sbin/httpd

apache 11350 0.0 2.1 33076 5352 ? S 07:29 0:00 /usr/sbin/httpd

apache 11351 0.0 2.1 33076 5352 ? S 07:29 0:00 /usr/sbin/httpd

apache 11352 0.0 2.1 33076 5352 ? S 07:29 0:00 /usr/sbin/httpd

apache 11353 0.0 2.1 33076 5352 ? S 07:29 0:00 /usr/sbin/httpd

apache 11354 0.0 2.1 33076 5352 ? S 07:29 0:00 /usr/sbin/httpd

apache 11355 0.0 2.1 33076 5352 ? S 07:29 0:00 /usr/sbin/httpd

apache 11356 0.0 2.1 33076 5352 ? S 07:29 0:00 /usr/sbin/httpd

#########Open browser http://localhost/ganglia

# ganglia1.png

ganglia1


#####Click on potter.isb.ots.com

# ganglia2.png

ganglia2

#########Ok one node "potter.isb.ots.com" added successfully

 

#########Now we add second HPC node "Harry.isb.ots.com"

 

#######Simply copy the files from potter.isb.ots.com to harry.isb.ots.com

 

[root@potter cluster]# scp /usr/sbin/gmond harry:/usr/sbin/gmond

gmond 100% 126KB 125.8KB/s 00:00

[root@potter cluster]# scp /etc/ganglia/gmond.conf harry:/etc/ganglia/

gmond.conf 100% 7563 7.4KB/s 00:00

[root@potter cluster]# scp /etc/init.d/gmond harry:/etc/init.d/

gmond 100% 742 0.7KB/s 00:00

[root@potter cluster]# scp /usr/lib/libganglia-3.1.2.so.0

libganglia-3.1.2.so.0 libganglia-3.1.2.so.0.0.0

[root@potter cluster]# scp /usr/lib/libganglia-3.1.2.so.0 harry:/usr/lib

libganglia-3.1.2.so.0 100% 193KB 193.2KB/s 00:00

[root@potter cluster]# scp /usr/lib/libconfuse.so.0 harry:/usr/lib

libconfuse.so.0 100% 43KB 43.5KB/s 00:00

[root@potter cluster]# scp /usr/lib/libapr-1.so.0 harry:/usr/lib

libapr-1.so.0 100% 173KB 172.8KB/s 00:00

[root@potter cluster]# scp -r /usr/lib/ganglia/ harry:/usr/lib

moddisk.so 100% 128KB 127.5KB/s 00:00

modsys.so 100% 128KB 128.1KB/s 00:00

modpython.so 100% 42KB 42.4KB/s 00:00

modproc.so 100% 127KB 127.4KB/s 00:00

modgstatus.so 100% 12KB 12.0KB/s 00:00

modnet.so 100% 128KB 127.7KB/s 00:00

modload.so 100% 127KB 127.5KB/s 00:00

modmulticpu.so 100% 40KB 39.7KB/s 00:00

modcpu.so 100% 132KB 132.0KB/s 00:00

modmem.so 100% 128KB 128.3KB/s 00:00

 

#######Start gmond service on 2nd HPC node "harry.isb.ots.com and refresh the browser 3 or 4 time"


[root@harry ~]# /etc/init.d/gmond start

Starting GANGLIA gmond: [ OK ]

You have new mail in /var/spool/mail/root


# ganglia3.png

ganglia3


# ganglia4.png

ganglia4

 

# ganglia5.png

ganglia5

 

You are here How To / Tutorials Ganglia Installation for a cluster (HA, LB, HPC)