Ganglia installation tutorial (centos7)
Ganglia Configuration
Gmetad Configuration
Perform the following operations in the ganglia installation directory:
Cp-a gmetad/gmetad. init/etc/init. d/gmetad chkconfig-add gmetad chkconfig-level 345 gmetad on gmetad-t | tee/usr/local/etc/gmetad. conf mkdir-p/var/lib/ganglia/rrds chown nobody: nobody/var/lib/ganglia/rrds
Configure gmetad. conf
1. Modify data_source in gmetad. conf
Data_source "hadoop201" hadoop201
Gmond Configuration
Cp-a gmond/gmond. init/etc/init. d/gmond chkconfig-add gmond chkconfig-level 345 gmond on gmond-t | tee/usr/local/etc/gmond. conf
Configure gmond. conf
Change the name in the cluster to data_source in gmetad. conf.
cluster { name = "hadoop201" owner = "nobody" latlong = "unspecified" url = "unspecified"}
Ganglia-web environment deployment
Tar xvzf ganglia-web-3.6.2.tar.gz-C/var/www/html/cd/var/www/html/mv ganglia-web-3.5.12 ganglia chmod-R 777/var/www/html/ganglia cd /var/www/html/ganglia cp conf_default.php conf. php vim conf. php
Some default configurations in conf. php are different from those above and need to be modified:
# Gmetad-webfrontend version. Used to check for updates.#$conf['gweb_root'] = "/var/www/html/ganglia";$conf['gweb_confdir'] = "/var/www/html/ganglia";include_once $conf['gweb_root'] . "/version.php";## 'readonly': No authentication is required. All users may view all resources. No edits are allowed.# 'enabled': Guest users may view public clusters. Login is required to make changes. # An administrator must configure an authentication scheme and ACL rules.# 'disabled': Guest users may perform any actions, including edits. No authentication is required.$conf['auth_system'] = 'readonly';## The name of the directory in "./templates" which contains the# templates that you want to use. Templates are like a skin for the# site that can alter its look and feel.#$conf['template_name'] = "default";## If you installed gmetad in a directory other than the default# make sure you change it here.## Where gmetad stores the rrd archives.$conf['gmetad_root'] = "/var/lib/ganglia";$conf['rrds'] = "${conf['gmetad_root']}/rrds";# Where Dwoo (PHP templating engine) store compiled templates$conf['dwoo_compiled_dir'] = "${conf['gweb_confdir']}/dwoo/compiled";$conf['dwoo_cache_dir'] = "${conf['gweb_confdir']}/dwoo/cache";# Where to store web-based configuration$conf['views_dir'] = $conf['gweb_confdir'] . '/conf';$conf['conf_dir'] = $conf['gweb_confdir'] . '/conf';
Problem and Solution
Rrdtool compilation Error
/. Libs/librrd. so: undefined reference to xmlTextReaderValue@LIBXML2_2.4.30'
./. Libs/librrd. so: undefined reference toxmlTextReaderNodeType@LIBXML2_2.4.30'
./. Libs/librrd. so: undefined reference to xmlStrdup@LIBXML2_2.4.30'
./. Libs/librrd. so: undefined reference toxmlTextReaderName@LIBXML2_2.4.30'
./. Libs/librrd. so: undefined reference to xmlNewTextReaderFilename@LIBXML2_2.4.30'
./. Libs/librrd. so: undefined reference toxmlStrcasestr@LIBXML2_2.4.30'
./. Libs/librrd. so: undefined reference to xmlFree@LIBXML2_2.4.30'
./. Libs/librrd. so: undefined reference toxmlTextReaderRead@LIBXML2_2.4.30'
./. Libs/librrd. so: undefined reference to xmlFreeTextReader@LIBXML2_2.4.30'
./. Libs/librrd. so: undefined reference toxmlTextReaderGetParserLineNumber@LIBXML2_2.6.17'
./. Libs/librrd. so: undefined reference to 'xmlstrcasecmp @ LIBXML2_2.4.30'
Ganglia compilation must rely on rrdtool, while rrdtool may have an inexplicable installation error when installing different machines. If the machine can connect to the network, you can install it using yum-y install rrdtool. However, after installation, when compiling ganglia, you still cannot find the corresponding library of rrdtool. You can use the following method to make ganglia compilation and installation successful:
Download rrdtool-1.4.8.tar.gz, decompress, copy the library in rrdtool-1.4.8/src/. libs to the following directory:
Home/hadoop/path for my local rrdtool-1.4.8:
cp /home/hadoop/rrdtool-1.4.8/src/.libs/.so /usr/local/lib/
cp /home/hadoop/rrdtool-1.4.8/src/.libs/*.a /usr/local/lib/
cp /home/hadoop/rrdtool-1.4.8/src/.libs/*.la /usr/local/lib/
cp /home/hadoop/rrdtool-1.4.8/src/rrd*.h /usr/local/include