ganglia 安裝教程
依賴軟件
tar xvzf pcre-8.32.tar.gz
cd pcre-8.32
./configure –prefix=/usr/local
make && make install
2.http://savannah.nongnu.org/download/confuse/confuse-2.7.tar.gz
tar xvzf confuse-2.7.tar.gz
cd confuse-2.7
CFLAGS=-fPIC ./configure –prefix=/usr/local –disable-nls
make CFLAGS=-fPIC
make CFLAGS=-fPIC install
3.http://nchc.dl.sourceforge.net/project/expat/expat/2.1.0/expat-2.1.0.tar.gz
tar -xvzf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure –prefix=/usr/local
make && make install
4.http://zlib.net/zlib-1.2.8.tar.gz
tar xvzf zlib-1.2.8.tar.gz
cd zlib-1.2.8
CFLAGS=-fPIC ./configure –prefix=/usr/local
make CFLAGS=-fPIC
make CFLAGS=-fPIC install
5.ftp://xmlsoft.org/libxml2/libxml2-2.7.8.tar.gz
tar xvzf libxml2-2.7.8.tar.gz
cd libxml2-2.7.8
./configure –prefix=/usr/local –with-zlib=/usr/local
make && make install
6.http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.8.tar.gz
tar xvzf rrdtool-1.4.8.tar.gz
cd rrdtool-1.4.8
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure –prefix=/usr/local
make && make install
- ./configure –enable-gexec –with-gmetad (gmetad節點)
./configure –enable-gexec (gmond節點)
make && make install
- 如果安裝過程中還有其他包缺失。可以執行如下命令,從本地源安裝
- yum -y install apr-devel apr-util check-devel cairo-devel pango-devel libxml2-devel rpmbuild glib2-devel dbus-devel freetype-devel fontconfig-devel gcc-c++ expat-devel python-devel libXrender-devel
ganglia配置
gmetad配置
在ganglia安裝目錄執行如下操作
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
配置gmetad.conf
1.修改gmetad.conf 中 data_source
data_source "hadoop201" hadoop201
gmond配置
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
配置gmond.conf
修改 cluster中 name 爲在gmetad.conf 中的data_source
cluster { name = "hadoop201" owner = "nobody" latlong = "unspecified" url = "unspecified" }
Ganglia-web環境部署
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
conf.php中有些默認配置和以上設置不一樣的需要進行修改:
# 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';
問題及解決方式
- #### 編譯rrdtool 錯誤
/.libs/librrd.so: undefined reference to `xmlTextReaderValue@LIBXML2_2.4.30’
./.libs/librrd.so: undefined reference to `xmlTextReaderNodeType@LIBXML2_2.4.30’
./.libs/librrd.so: undefined reference to `xmlStrdup@LIBXML2_2.4.30’
./.libs/librrd.so: undefined reference to `xmlTextReaderName@LIBXML2_2.4.30’
./.libs/librrd.so: undefined reference to `xmlNewTextReaderFilename@LIBXML2_2.4.30’
./.libs/librrd.so: undefined reference to `xmlStrcasestr@LIBXML2_2.4.30’
./.libs/librrd.so: undefined reference to `xmlFree@LIBXML2_2.4.30’
./.libs/librrd.so: undefined reference to `xmlTextReaderRead@LIBXML2_2.4.30’
./.libs/librrd.so: undefined reference to `xmlFreeTextReader@LIBXML2_2.4.30’
./.libs/librrd.so: undefined reference to `xmlTextReaderGetParserLineNumber@LIBXML2_2.6.17’
./.libs/librrd.so: undefined reference to `xmlStrcasecmp@LIBXML2_2.4.30’
ganglia編譯必須依賴rrdtool,而rrdtool安裝不同機器可能出現莫名的安裝錯誤,此時如果機器可以連接網絡可以使用 yum -y install rrdtool
方式安裝,但此時安裝後,編譯ganglia時仍然無法找到rrdtool相應的庫,此時可以採用如下方法,使ganglia編譯安裝成功:
下載rrdtool-1.4.8.tar.gz ,解壓後,將rrdtool-1.4.8/src/.libs 中相應庫拷貝到如下目錄,拷貝後可以不用再編譯將rrdtool:
進入rrdtool-1.4.8所在目錄執行如下拷貝操作:
cp src/.libs/*.so* /usr/local/lib/
cp src/.libs/*.a /usr/local/lib/
cp src/.libs/*.la /usr/local/lib/
cp src/rrd*.h /usr/local/include
- #### metad: error while loading shared libraries
metad: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory
解決方法
執行如下命令:
whereis libpcre.so.1
顯示如下:
libpcre.so: /lib64/libpcre.so.0 /usr/local/lib/libpcre.so.1 /usr/local/lib/libpcre.so
然後建立連接:
ln -s /usr/local/lib/libpcre.so /lib64/libpcre.so.1