ubuntu下ganglia3.7.2编译安装
一、介绍
ganglia主要包括gmond和gmeta
1、gmond用于收集监测数据,可以发送也可以接收在同一个组播或单播通道上的统计信息。gmond有两个角色,一个是发送者,另一个是接收者。当mute=no时,gmond是发送者,会收集本节点上的基本指标,比如系统负载(load_one)、cpu和memory利用率等,也可以发送用户通过添加C/Python模块来自定义的指标。当deaf=no是接收者,主要用来聚合所有从别的节点上发来的指标(如flume agent发来的metrics信息),并把他们都保存在内存缓冲区中。gmond节点之间通过UDP收集数据,gmetad通过TCP从gmond节点获取数据
2、gmeta定期检查gmond,拉取gmond上的数据,并将他们的指标存储在RRD存储引擎中。
3、除此之外还有个web组件用于显示监控图,ganglia-web(或者ganglia-webfrontend)
二、编译先决条件
apt-get install make gawk gcc g++ pkg-config python-libxml2 libcogl-pango-dev libxml2-dev libxslt-dev libaprutil1-dev libpcre*
apt-get install pkg-config -y
apt-get install pkgconf -y
apt-get install libapr1-dev -y
apt-get install libconfuse-dev -y
apt-get install expat -y
apt-get install libexpat-dev -y
apt-get install zlib1g-dev -y
apt-get install librrds-perl python-dev libpcre3-dev -y
可能不全,但也差不多
上面的依赖包都安装之后还需要confuse和rrdtool,这两个需要编译安装,所以单独说明下
1、安装confuse
wget http://download.savannah.gnu.org/releases/confuse/confuse-2.7.tar.gz
tar -zxvf confuse-2.7.tar.gz
cd confuse-2.7
./configure CFLAGS=-fPIC --disable-nls --prefix=/home/hadoop/confuse-2.7
make && make install #root用户执行
2、安装rrdtool
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.6.0.tar.gz
./configure --prefix=/usr/local # 貌似安装到别的目录,需要将bin下的命令加到环境变量中,否则后面编译ganglia会报错
make && make install #root用户执行
三、依赖安装完毕,进入ganglia-3.7.2.tar.gz的解压目录中
1、执行编译命令
./configure --prefix=/usr/local/ganglia --with-gmetad --with-librrd=/usr/local/lib --sysconfdir=/etc/ganglia --enable-gexec --enable-status
--prefix用于指定ganglia编译之后的目录,--with-gmetad包含gmeta组件,--with-librrd=/usr/local/lib包含rrd数据库,--sysconfdir=/etc/ganglia将gmeta
和gmond的配置文件放在此目录。
成功之后就可以执行
2、安装
make && make install
四、还需要安装
apt-get install ganglia-modules-linux ganglia-monitor ganglia-monitor-python ganglia-webfrontend libganglia1 libganglia1-dev
要不然无法收集机器的基础属性,也不能正常显示图片(ganglia-webfrontend不安装无法正常显示图片)。
五、安装ganglia-web
下面来编译ganglia-web,其实下载的ganglia-web-3.7.2.tar.gz已经是编译好的,直接执行安装命令(make && make install)就行了。但是ganglia-web需要依赖
apache作为服务器,则还需要安装依赖
apt-get install apache2.2-bin apache2.2-common apache2 libapache2-mod-php5 php5
这里也可以对ganglia-web的安装目录进行稍许的配置,配置在Makefile中
主要改的配置选项如下:
# Location where gweb should be installed to (excluding conf, dwoo dirs).
# web页面文件,需要放在apache web文件夹里
GDESTDIR = /usr/share/ganglia-webfrontend
# Location where default apache configuration should be installed to.
GCONFDIR = /etc/ganglia-web
# Gweb statedir (where conf dir and Dwoo templates dir are stored)
GWEB_STATEDIR = /var/lib/ganglia-web
# Gmetad rootdir (parent location of rrd folder)
GMETAD_ROOTDIR = /var/lib/ganglia
上面的目录配置的有点散,可以对其进行修改,使其便于管理,修改如下:
GDESTDIR = /var/lib/ganglia/web
# Location where default apache configuration should be installed to.
GCONFDIR = /var/lib/ganglia/etc/
#GCONFDIR = /etc/ganglia-web
# Gweb statedir (where conf dir and Dwoo templates dir are stored)
GWEB_STATEDIR = /var/lib/ganglia
# Gmetad rootdir (parent location of rrd folder)
GMETAD_ROOTDIR = /var/lib/ganglia
# 可改可不改,默认是www-data
APACHE_USER = hadoop_portal
之所以选择/var/lib/ganglia这个目录,是因为rrd在此目录中。如果你用的版本和我一样,可能会遇到个小bug,将GDESTDIR和GWEB_STATEDIR路径中的第一个/去掉
六、部署
修改两个配置文件就行,分别是gmond.conf和gmeta.conf,在目录/etc/ganglia(此路径是在编译ganglia时指定的)中。
gmeta.conf中只需添加数据源和gmod节点就可以了
# 说明:这里的 "flume" 表示的是集群的名称,与gmod中的cluster名字一样,后面的内容是这个集群中所包含的主机信息,也就是要监控的主机ip
# 这里采用单播方式,则只有一个节点,并配上端口,如果不指定端口,默认是8649
data_source "flume" 127.0.0.1:8666
# 由于setuid默认是开启的,而setuid_username默认是nobody,可能会遇到权限问题,则改为启动用户hadoop
setuid_username "hadoop"
启动之前需要改下rrd所在目录的权限,改为启动gmeta的用户,命令chown -R hadoop:hadoop /var/lib/ganglia(如果rrds目录不存在,则新建/var/lib/ganglia/rrds目录)
七、启动gmeta
/usr/local/ganglia/sbin/gmetad start
(/usr/local/ganglia/是在编译时由–prefix=指定的)
然后通过ps -ef | grep gm查看是否有gmeta进程,如果没有就代表没有启动成功,
可以使用gmetad --debug=4(或者gmeta debug=10 log message)进来debug启动
gmond.conf文件修改
globals {
daemonize = yes
setuid = yes
# 与gmeta中setuid_username相同,启动gmond的用户
user = hadoop
debug_level = 0
max_udp_msg_len = 1472
# 发送者开关
mute = no
# 接收者开关
deaf = no
host_dmax = 0 /*secs */
cleanup_threshold = 300 /*secs */
gexec = no
send_metadata_interval = 0
}
cluster {
# gmeta中data_source中的cluster名字
name = "flume"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}
#发送者channel
# 如果不用监视本节点基础指标则不用配置,并设置mute为yes
udp_send_channel {
# 多播方式
/*mcast_join = 239.2.11.71 */
host = 127.0.0.1
port = 8666
ttl = 1
}
# 接收者channel
udp_recv_channel {
/* mcast_join = 239.2.11.71 */
port = 8666
bind = 127.0.0.1
}
tcp_accept_channel {
port = 8666
}
八、启动gmond
/usr/local/ganglia/sbin/gmond start
没有启动则用上面介绍的debug模式启动,查找错误原因
九、启动ganglia-web
只需要将GDESTDIR所指定的目录放到/var/www目录中就可以了。我在这建了个软连
cd /var/www/html
ln -s /usr/share/ganglia-webfrontend ganglia
启动apache就可以访问了,apache启动命令
service apache2 start
十、查看显示结果
输入127.0.0.1/ganglia就可以查看监控指标了
十一、排错
如果服务器在本地不能访问,可以使用telnet localhost 8651来验证下gmeta是否成功(gmeta默认是8651端口)。
其他
更改Apache的默认端口
在debian系统下apache默认安装目录是/etc/apache2/
更改默认端口需要修改两个配置文件,分别为/etc/apache2/ports.conf和/etc/apache2/sites-available/default
更改内容如下:
#ports.conf
NameVirtualHost *:8001
Listen 8001
#default
VirtualHost *:8001
#ports.conf
NameVirtualHost *:8001
Listen 8001
#default
VirtualHost *:8001
然后重启就ok了。可以使用命令netstat -lnp |grep apache查看配置是否生效。显示内容如下则表示生效
tcp6 0 0 :::8001 :::* LISTEN 8647/apache2
删除一个节点
删掉rrd对应节点后,reload下gmetad
ubuntu下ganglia3.7.2编译安装的更多相关文章
- ubuntu下mysql源码编译安装
建议:cpu4核以上,内存4G以上 1. 安装环境:Ubuntu Server 14.10MySQL-5.6.23.tar.gz 2. 安装必备的工具sudo apt-get install make ...
- ubuntu下从源码编译安装cherokee
apt-get install automake autoconf libtool rrdtool libpam0g-dev libssl-dev libgeoip-dev libldap2-dev ...
- Linux下通过源码编译安装程序
本文简单的记录了下,在linux下如何通过源码安装程序,以及相关的知识.(大神勿喷^_^) 一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件: ...
- CentOS下MySQL 5.7编译安装
CentOS下MySQL 5.7编译安装 文章目录 安装依赖包 下载相应源码包 添加mysql用户 预编译 编译安装 启动脚本,设置开机自启动 /etc/my.cnf,仅供参考 初始化数据库 设置 ...
- ubuntu下nodejs和npm的安装及升级
ubuntu 下 nodejs 和 npm 的安装及升级 参考:https://segmentfault.com/a/1190000007542620 一:ubuntu下安装 node 和 npm命令 ...
- Ubuntu下查看软件版本及安装位置【转】
Ubuntu下查看软件版本及安装位置 查看软件版本: aptitude show xxx 也可用apt-show-versions (要先安装sudo apt-get install apt- ...
- Linux下通过源码编译安装程序(configure/make/make install的作用,然后在/etc/profile文件里修改PATH环境变量)
一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...
- Ubuntu系统下OpenDaylight源码编译安装
操作系统:Linux x64 / Ubuntu 14.04 研究领域:软件定义网络SDN (Software-defined Networking) 开发组件:OpenDaylight 声明:转载请注 ...
- 关于ubuntu下sublime text 3 的安装和中文配置问题
一.sublime text 3 在ubuntu 16.04下的安装过程 1)首先下载sublime text 3 的tar包 $ wget https://download.sublimetext. ...
随机推荐
- hdp 集群问题解决记录
2019-04-23 14:16:21,769 WARN namenode.FSImage (EditLogFileInputStream.java:scanEditLog(359)) - Caugh ...
- BZOJ2212:[POI2011]Tree Rotation
浅谈线段树合并:https://www.cnblogs.com/AKMer/p/10251001.html 题目传送门:https://lydsy.com/JudgeOnline/problem.ph ...
- 几个最短路径算法Floyd、Dijkstra、Bellman-Ford、SPFA的比较
几大最短路径算法比较 转自:http://blog.csdn.net/v_july_v/article/details/6181485 几个最短路径算法的比较: Floyd 求多 ...
- POJ3126Prime Path(BFS)
#include"cstdio" #include"queue" #include"cstring" using namespace std ...
- POJ(2186)强连通分量分解
#include<cstdio> #include<vector> #include<cstring> using namespace std; ; vector& ...
- 【jQuery】slice()方法的使用
[jQuery]slice()方法的使用 slice()方法:从已有的数组中返回选定的元素. 语法: arrayObj.slice(start, end) ...
- C#调用ODBC连接SQL Server数据库的存储过程
OdbcConnection con = new OdbcConnection("Driver={SQL Server};server=PC-200201070359;uid=sa;pwd= ...
- 在虚拟机中的Ubuntu搭建java开发环境
前提: 安装好虚拟机 在虚拟机中装好了Ubuntu系统 以上两步请参见我的博客(python进阶) 1 安装JDK 1.1 到官网下载jdk压缩包并保存在本地 jdk1.8:点击前往 1.2 在Ubu ...
- R: vector 向量的创建、操作等。
################################################### 问题:创建.操作向量 18.4.27 怎么创建向量 vector,,及其相关操作 ??? 解 ...
- p4555&bzoj2565 最长双回文串
传送门(洛谷) 传送门(bzoj) 题目 顺序和逆序读起来完全一样的串叫做回文串.比如acbca是回文串,而abc不是(abc的顺序为abc,逆序为cba,不相同). 输入长度为 nnn 的串 SSS ...