1:ganglia简介
2:ganglia的组件
2.1:gmond简介:
2.2:gmetad简介:
2.3:ganglia_web简介
3:ganglia安装:
3.1:主节点安装:
- epel包的安装:yum install -y epel-release(解决不能yum安装某些安装包的问题)
- gmetad的安装:yum install -y ganglia-gmetad ganglia-devel
- gmond的安装:yum install -y ganglia-gmond
- rrdtool的安装:yum install -y rrdtool
- httpd服务器的安装:yum install -y httpd
- ganglia-web及php安装:yum install -y ganglia-web php
3.2:从节点安装:
- yum -y install epel-release
- yum -y install ganglia-mond
3.3:安装配置目录
- ganglia配置文件目录:/etc/ganglia
- rrd数据库存放目录:/var/lib/ganglia/rrds
- httpd主站点目录:/var/www/html
- ganglia-web安装目录:/usr/share/ganglia
- ganglia-web配置目录:/etc/httpd/conf.d/ganglia.conf
- ganglia网站目录:/usr/share/ganglia
4:ganglia配置
ServerName | Hadoop Cluster | Zookeeper | HBase Cluster |
server1 | Name node & Resource manager,secondary name node | yes | master |
server2 | Data node & Node manager | yes | Region server |
server3 | Data node & Node manager | yes | Region server |
server4 | Data node & Node manager | yes | Region server |
4.1:配置gmond.conf
cluster {
name = "hadoop 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 = server1
port = 8649
}
udp_recv_channel {
port = 8649
}
tcp_accept_channel {
port = 8649
}
cluster {
name = "hadoop cluster"
#name随意取,但是保证每个节点的名字相同
...
}
udp_send_channel {
# the host who gather this cluster's monitoring data and send these data to gmetad node
host = server1
#注释掉组播,添加host=server1(主节点的主机名)
port = 8649
}
udp_recv_channel {
port = 8649
#注释掉多余的,留下端口即可
}
tcp_accept_channel {
port = 8649
}
4.2:修改ganglia-web的访问权限
修改/etc/httpd/conf.d/ganglia.conf
Alias /ganglia /usr/share/ganglia
<Location /ganglia>
Require all granted
#Require ip 10.1.2.3
#Require host example.org
</Location>
4.3:配置gmetad
data_source "Hadoop cluster" server1:8649 server2:8649 server3:8649 server4:8649
data_source:此参数定义了集群的名字,以及集群中的节点,
5:hadoop配置:
namenode.sink.ganglia.servers=server1:8649
resourcemanager.sink.ganglia.servers=server1:8649
mrappmaster.sink.ganglia.servers=server1:8649
jobhistoryserver.sink.ganglia.servers=server1: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
从节点配置:
datanode.sink.ganglia.servers=server1:8649
nodemanager.sink.ganglia.servers=server1: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配置
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
hbase.sink.ganglia.period=10
hbase.sink.ganglia.servers=server1:8649
hbase.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
hbase.period=10
hbase.servers==server1:8649
jvm.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
jvm.period=10
jvm.servers==server1:8649
rpc.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
rpc.period=10
rpc.servers==server1:8649
7:ganglia启动:
主节点的启动
# start httpd, gmetad, gmond
$ systemctl start httpd.service
$ systemctl start gmetad.service
$ systemctl start gmond.service
$ systemctl enable httpd.service
$ systemctl enable gmetad.service
$ systemctl enable gmond.service
被监测节点的启动
# start gmond
#systemctl enable gmond.service
#systemctl start gmond.service
8验证:
浏览器访问 {namenode的ip}/ganglia 即可
效果如图