由于公司机房机器不允许上网,所以需要一个离线安装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中的debug有0改为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/目录下将生成bin、include、lib、man和share五个目录。在后面安装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 (如果不禁用会报错:Forbidden,You 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/
相关推荐
而又没有epel源的时候, 可以用一台连接外网的linux服务器使用 yum install --downloadonly 来下载ganglia的包, 然后cp到内网的服务器上去安装, 这里就是为你准备好的最新版的ganglia离线安装和依赖包, 请下载吧
dstat-master.tar.gz是一个包含了dstat工具源代码的压缩包,通过解压并编译安装,我们可以得到这个功能丰富的监控工具。 dstat是由Colin Percival开发的,它的设计目标是替代如vmstat、iostat、netstat和ifstat等...
hadoop0.23.9离线api,解压后进入 doc 目录 ,双击 index.html 和javaapi一样 All Classes Packages org.apache.hadoop org.apache.hadoop.classification org.apache.hadoop.conf org.apache.hadoop.contrib....
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。请使用rpm -ivh [rpm完整包名] 进行安装