概述
一、简介
Ganglia 由 gmond、gmetad 和 gweb 三部分组成
gmond(Ganglia Monitoring Daemon)是一种轻量级服务,可以勉强比作传统监控系统中的“代理(agent)”
软件。安装在每台需要收集指标数据的节点主机上。gmond 在每台主机上完成实际意义上的指标数据收集工作,
并通过侦听/通告协议和集群内其他节点共享数据。使用 gmond,你可以很容易收集很多系统指标数据,如 CPU、
内存、磁盘、网络和活跃进程的数据等。
gmetad(Ganglia Meta Daemon)是一种从其他 gmetad 或 gmond 源收集指标数据,并将其以 RRD 格
式存储至磁盘的服务。gmetad 为从主机组收集的特定指标信息提供了简单的查询机制,并支持分级授权,使得创
建联合监测域成为可能。
gweb(Ganglia Web)gweb 是一种利用浏览器显示 gmetad 所存储数据的 PHP 前端。在 Web 界面中以图
表方式展现集群的运行状态下收集的多种不同指标数据。
二、安装和配置
2.1、 安装 gmon nd d
(1) 在本地软件库中搜索 gmond 安装包:
yum search ganglia-gmond
(2) 如果上一步没有搜到,需要在本地添加 rmp 资源(以 centos 为例)
①查看 linux 系统的版本信息
cat /etc/redhat-release
②所以我们浏览器输入 http://mirror.ancl.hawaii.edu/linux/epel/ ,
找到下的 7 目录,然后点击 x86_64 ,一直往里面找,找到我们需要的 rpm 文件
rpm -Uvh http://mirror.ancl.hawaii.edu/linux/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
或者用一下这个路径都可以
rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
(3)再次搜索,查看是否添加成功
yum search ganglia-gmond
(4)如果搜索到了,我们就可以安装 gmond 了
sudo yum install ganglia-gmond
2.2 、 安装 gmetad
(1)在本地软件库中搜索 gmetad 安装包:
yum search ganglia-gmetad
因为在安装 gmond 时已经加载了 ganglia 的 rmp 源,所以这里直接可以搜到
(2)直接安装 gmetad
sudo yum install ganglia-gmetad
2.3 、 安装 gweb
Ganglia 3.4.0 的 Web 接口是一个独立的发布包,其源代码库也独立的。
Gweb 发行周期和版本号与 Ganglia gmond 和 gmetad 守护进程的发型周期和版本号不再一致。
(1)安装 Apache 和 PHP
yum install httpd php
执行完之后会发现安装了一下
用户需要启用 PHP 的 JSON 扩展,JSON 已经包含在 PHP 5.2 及更新版本中。
通过检查/etc/php.d/json.ini 文件来检查 JSON 扩展的状态,如果已经启用 JSON 扩展,
在该文件中应该包含类似下面语句的内容:
extension=json.ini
(2)下载最新版本的 gweb
访问 https://sourceforge.net/projects/ganglia/files/gweb/
显示当前 gweb 最新版本是 3.7.2
下载
wget https://sourceforge.net/projects/ganglia/files/ganglia-web/3.7.2/ganglia-web-3.7.2.tar.gz
(3)解压刚下载的 gweb
tar -zxvf ganglia-web-3.7.2.tar.gz -C /opt/
cd /opt/ganglia-web-3.7.2
(4)编译 Makefile
编辑一些用户默认的配置
vim Makefile
找到一下内容修改为
GDESTDIR = /var/www/html/ganglia2
APACHE_USER = apache
注意:GDESTDIR 和 APACHE_USER 要与 APACHE 的配置文件(/etc/httpd/conf/httpd.conf)
中的 DocumentRoot 、 user 保持一致
(5)开始编译 Makefile
make install
如果没有提示错误,那么说明 gweb 就安装成功啦。
2.4、状态检查 和 启动
(1)检查 httpd 是否启动
service httpd status
(2)启动 httpd
service httpd start
(3)检查 gmetad 是否启动
service gmetad status
(4)启动 gmetad
service gmetad start
(5)检查 gmond 是否启动
service gmond status
(6)启动 gmond
service gmond start
2.5 、关闭 SEL inux
(1)查看 SELinux 状态
getenforce 或者 # sestatus
如果显示 Disabled,表示已经关闭了 selinux
(2)关闭 SELinux
# vi /etc/selinux/config
#SELINUX=enforcing
SELINUX= disabled
三、访问 Ganglia 监控平台
在浏览器中输入
http://${your.server.ip}/ganglia2/
目录“/ganglia2”可以在 ganglia-web 的 Makefile 文件中 GDESTDIR 被修改,修改后需要重新编译
四、集群的监控
Gmond 安装在每台需要检测的主机上。Gmond 通过与主机操作系统交互获取指标数据,并与同一集群内的其
他主机共享数据。
Gmetad 是一种安装在主机上用来收集和汇聚 gmond 所收集的指标数据的守护进程。gmetad 默认使用 RRD 文
件收集和汇聚指标数据。通过 tcp 端口 8651 侦听远程 gmetad 连接;它也通过 tcp 端口 8652 对交互式请求做出应
答。
当前整个集群为
ServerName Hadoop Cluster Zookeeper HBase Cluster
node1 NameNode & ResourceManager
SecondaryNameNode yes master & Region server
node2 DataNode & NodeManager yes Region server
node3 DataNode & NodeManager yes Region server
(1 ) 各 节点的安装
主节点(确保已经安装了这几个,如果就安装)
yum install ganglia-gmond
yum install ganglia-gmetad
yum install ganglia-devel
yum install httpd php
yum install -y rrdtool
从节点
rpm -Uvh http://mirror.ancl.hawaii.edu/linux/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
yum install ganglia-gmond
(2 )配置 gmond.conf
vi /etc/ganglia/gmond.conf
主节点配置
cluster {
name = “bigdata_cluster”
…
}
udp_send_channel {
the host who gather this cluster’s monitoring data and send these data to gmetad node
#注释掉多播模式的,以下出现这个都要注释掉
#mcast_join = 239.2.11.71
#添加单播模式的
host = node1
port = 8649
}
udp_recv_channel {
port = 8649
注释掉多余的,留下端口即可
}
tcp_accept_channel {
port = 8649
}
监控节点配置
将主节点的发送到监控节点就可以了
(3 )修改 ganglia-web 访问 权限
vi /etc/httpd/conf/httpd.conf
在文件的末尾添加
Alias /ganglia /opt/ganglia-web-3.7.2
<location /ganglia>
Require all granted
service httpd restart
(4 )配置 gmetad
只需在主节点上配置即可
vi /etc/ganglia/gmetad.conf
data_source “bigdata_cluster” node1:8649 node2:8649 node3:8649
data_source:此参数定义了集群的名字,以及集群中的节点,
(5 )配置 hadoop
主节点配置
vi $HADOOP_HOME/etc/hadoop/hadoop-metrics2.properties
可以 注释掉里面的内容直接粘贴修改
ganglia配置
namenode.sink.ganglia.servers=node1:8649
resourcemanager.sink.ganglia.servers=node1:8649
mrappmaster.sink.ganglia.servers=node1:8649
jobhistoryserver.sink.ganglia.servers=node1:8649
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
*.sink.ganglia.supportsparse=true
*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
从节点配置
ganglia配置
datanode.sink.ganglia.servers=node1:8649
nodemanager.sink.ganglia.servers=node1:8649
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
*.sink.ganglia.supportsparse=true
*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
(6 )配置 hbase
vi $HBASE_HOME/conf/hadoop-metrics2.properties
可以 注释掉里面的内容直接粘贴修改(每个节点都一样)
ganglia配置
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
hbase.sink.ganglia.period=10
hbase.sink.ganglia.servers=node1:8649
hbase.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
hbase.period=10
hbase.serversnode1:8649
jvm.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
jvm.period=10
jvm.serversnode1:8649
rpc.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
rpc.period=10
rpc.servers==node1:8649
(7 )启动 ganglia
主节点的启动(如果已经启动了,就重新启动)
$ systemctl start httpd.service
$ systemctl start gmetad.service
$ systemctl start gmond.service
$ systemctl enable httpd.service
$ systemctl enable gmetad.service
$ systemctl enable gmond.service
被监测节点的启动
#systemctl enable gmond.service
#systemctl start gmond.service
最后
以上就是感动钢铁侠为你收集整理的Ganglia监控系统的安装使用和节点安装与配置vi /etc/httpd/conf/httpd.conf的全部内容,希望文章能够帮你解决Ganglia监控系统的安装使用和节点安装与配置vi /etc/httpd/conf/httpd.conf所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复