ganglia离线安装

由于公司机房机器不允许上网,所以需要一个离线安装ganglia的方案,网上的教程都是有联网的,所以自己写一编 ganglia离线安装教程.

机器系统: redhat 5.6  64位

              安装rrdtools

:由于机房机器能连接外网,所以需要下载好相关的包,上传到机器上.

 

http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.27.tar.gz

tar zxvf rrdtool-1.2.27.tar

cd rrdtool-1.2.27

./configure --prefix=/usr/local/rrdtool

make

make install

 

 

执行下命令,看是否安装成功

/usr/local/rrdtool/bin/rrdtool

 

 

              安装expat依赖

http://downloads.sourceforge.net/project/expat/expat/2.0.1/expat-2.0.1.tar.gz?use_mirror=cdnetworks-kr-2

tar zxvf expat-2.0.1.tar.gz

./configure --prefix=/usr/local/expat

make

make install

对于64位操作系统,需要手动的拷贝下动态链接库到lib64

mkdir /usr/local/expat/lib64

cp -a /usr/local/expat/lib/* /usr/local/expat/lib64/

 

 

              安装apr以及apr-util

http://labs.renren.com/apache-mirror/apr/apr-1.4.5.tar.gz

tar xvjf apr-1.3.2.tar.bz2

./configure --prefix=/usr/local/apr

make

make install

 

http://labs.renren.com/apache-mirror/apr/apr-util-1.3.12.tar.gz

tar xvjf apr-util-1.3.2.tar.bz2

./configure --with-apr=/usr/local/apr --with-expat=/usr/local/expat

make

make install

 

 

同样64位机器需要拷贝动态链接库

/bin/cp -f /usr/local/apr/include/apr-1/* /usr/local/apr/include/

mkdir -p /usr/local/apr/lib64

/bin/cp -a -f /usr/local/apr/lib/* /usr/local/apr/lib64/

 

              安装confuse

http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz

tar zxvf confuse-2.6.tar.gz

./configure CFLAGS=-fPIC --disable-nls --prefix=/usr/local/confuse

make

make install

拷贝动态链接库

mkdir -p /usr/local/confuse/lib64

/bin/cp -a -f /usr/local/confuse/lib/* /usr/local/confuse/lib64/                       

 

              安装ganglia

现在才是安装ganglia的开始,下载ganglia-3.1.7.tar.gz,解压,安装

./configure --prefix=/usr/local/ganglia --with-librrd=/usr/local/rrdtool --with-libapr=/usr/local/apr --with-libexpat=/usr/local/expat --with-libconfuse=/usr/local/confuse  --with-libpcre=no  --with-gmetad --enable-gexec --enable-status --sysconfdir=/etc/ganglia

make

make install

 

 

              服务端配置

创建rrdtool数据目录,并授权。

mkdir -p /var/lib/ganglia/rrds

mkdir -p /var/lib/ganglia/dwoo

chown -R nobody:nobody /var/lib/ganglia

 

 

配置一个数据源,修改/etc/ganglia/gmetad.conf文件,同时将运行用户设置为rrdtool的目录权限用户,例如hadoop用户

data_source "my cluster" localhost

setuid_username "hadoop"

 

其中my cluster是数据源的名称,客户端分组会依赖此名称,后面会提到。

添加自启动脚本

/bin/cp -f gmetad/gmetad.init /etc/init.d/gmetad

/bin/cp -f /usr/local/ganglia/sbin/gmetad /usr/sbin/gmetad

chkconfig --add gmetad

启动gmetad服务

service gmetad start

看见Starting GANGLIA gmetad: [ OK ]就代表运行正常了。

 

 

              客户端配置(gmond节点)

本机安装如下:

/bin/cp -f gmond/gmond.init /etc/init.d/gmond

/bin/cp -f /usr/local/ganglia/sbin/gmond/ /usr/sbin/gmond

chkconfig --add gmond

gmond --default_config > /etc/ganglia/gmond.conf

 

对于生成的默认配置文件需要做适当的修改

cluster {

name="my cluster"

owner="hadoop"

latlong="unspecified"

url="unspecified"

}

其中name是将要在服务端进行的分组,是服务端的数据源。接下来开启服务

service gmond start

看见Starting GANGLIA gmetad: [ OK ]代表启动成功。如果有失败,可以讲gmond.conf中的debug0改为100,看更多的日志,然后进行排查。

globals {

daemonize = yes

setuid = yes

user = nobody

debug_level = 100

}

 

非本机客户端配置需要安装服务端安装一样进行配置,运行,非常麻烦,这里使用本机安装好的文件进行安装。使用下面的脚本进行安装deploy-ganglia.sh

i=$1

scp /usr/sbin/gmond $i:/usr/sbin/gmond

ssh $i mkdir -p /etc/ganglia/

ssh $i mkdir -p /usr/local/ganglia/lib64

ssh $i mkdir -p /usr/local/expat/lib

scp /etc/ganglia/gmond.conf $i:/etc/ganglia/

scp /etc/init.d/gmond $i:/etc/init.d/

scp -r /usr/local/ganglia/lib64/* $i:/usr/local/ganglia/lib64/

scp /usr/local/expat/lib/libexpat.so.1 $i:/usr/local/expat/lib/libexpat.so.1

scp /usr/lib64/libapr-1.so.0 $i:/usr/lib64/

实际上就是将本机安装好(编译好)的动态链接库拷贝到其它机器上,使用如下命令拷贝即可

sh deploy-ganglia.sh 10.103.124.171

 

 

              服务端的WEB配置

PHP程序需要依赖Apache来运行,因此需要PHP.

              获取安装文件:

php-5.3.8.tar.gz   http://www.php.net/downloads.php 

获取安装php需要的支持文件:

libxml2-2.6.32.tar.gz  http://download.csdn.net/download/netlong339/1351852    

              安装libxml2

tar zxvf libxml2-2.6.32.tar.gz

cd libxml2-2.6.323

./configure --prefix=/usr/local/libxml2

make

make install

 

如果安装成功以后,在/usr/local/libxml2/目录下将生成binincludelibmanshare五个目录。在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上"--with-libxml-dir=/usr/ local/libxml2"选项,用于指定安装libxml2库文件的位置。

 

              安装php5

tar zvxf php-5.3.8.tar.gz

cd php-5.3.8

./configure  --prefix=/usr/local/php --with-libxml-dir=/usr/local/libxml2

make

make install

 

 

              重新配置apache让他支持php

 

■配置 httpd.conf apache支持PHP

  # vi /etc/httpd/conf/httpd.conf

 

  找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容

 

  AddType application/x-httpd-php .php      (.前面有空格)

 

  AddType application/x-httpd-php-source .phps        (.前面有空格)

 

■然后CPOPY PHP的配置文件

  cp php-5.3.8/php.ini.dist /usr/local/php/lib/php.ini

 

    (如果没有php.ini.dist 则把php.ini-development php.ini-production中的任何一个重命名为php.ini.dist即可。)

 

  修改php.ini文件 register_globals = On

 

■重启apache

  /sbin/service apache restart

 

5.测试php是否成功安装

 

写一个php测试页info.php,放到/var/www/html中。

 

<?php

 

 phpinfo();

 

?>;

 

在浏览器中输入:服务器地址/info.php

 

如果能正常显示出php的信息,则说明PHP安装成功!

 

              安装web程序。

mkdir /var/www/html/ganglia

cp -a -f ganglia-3.2.0/web/* /var/www/html/ganglia

              禁用 SELinux

setenforce 0 (如果不禁用会报错:ForbiddenYou don’t have permission to access /ganglia/ on this server

修改rrdtool的路径,文件/var/www/html/ganglia/conf.php中的RRDTOOL

define("RRDTOOL", "/usr/local/rrdtool/bin/rrdtool");

 

 

重启httpd服务器即可看到效果 service httpd restart

 

              查看WEB页面

http://web服务器ip/ganglia/

猜你喜欢

转载自justinyao.iteye.com/blog/1990501