阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

部署Ganglia监控Hadoop与HBase

474次阅读
没有评论

共计 6147 个字符,预计需要花费 16 分钟才能阅读完成。

在运维 Hadoop 的时候,经常会遇到一些性能问题。而性能问题,是无法简单通过 web 页面和 log 分析出来的。需要很多方面的指标。而 Ganglia 就是比较实用个监控工具之一。

部署 Ganglia,百度一下,很多人已经分享很多。结合众人的经验。并加入自己安装过程中遇到的问题,整理出本文。

1. 准备了 2 台机器

Server
192.168.0.11(gmetad,web,gmond-master)
Client
192.168.0.12(gmond)

2. Server 端需要安装的软件包

  • epel 包的安装:yum install -y epel-release(解决不能 yum 安装某些安装包的问题)
  • gmetad 的安装:yum install -y ganglia-gmetad ganglia-devel
  • gmond 的安装:yum install -y ganglia-gmond ganglia-gmond-python
  • rrdtool 的安装:yum install -y rrdtool rrdtool-devel
  • httpd 服务器的安装:yum install -y httpd
  • ganglia-web 及 php 安装:yum install -y ganglia-web php
  • 其他依赖包的安装:yum install -y apr-devel zlib-devel libconfuse-devel expat-devel pcre-devel

3. 被监测节点需要安装的软件包

  • epel 包的安装:yum install -y epel-release(解决不能 yum 安装某些安装包的问题)
  • gmond 的安装:yum install -y ganglia-gmond ganglia-gmond-python

4. 安装目录说明

  • 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

5. 关闭 SELINUX

vi /etc/selinux/config
把 SELINUX=enforcing 改成 SELINUX=disable;
需要重启机器。

6. 关闭防火墙

# chkconfig iptables off
# chkconfig iptables –list
iptables        0:off  1:off  2:off  3:off  4:off  5:off  6:off

7. 配置 /etc/ganglia/gmetad.conf

修改 data_source,改成:

data_source “testcluster”192.168.0.11:8650 #gmetad 采集数据的目标 gmond 地址和端口 (tcp_accept_channel)

8. 配置 gmond

/etc/ganglia/gmond.conf,修改以下内容 (这个 gmond 节点作为收集节点,这个节点可以是多个,最后需要在 gmetad.conf 上进行配置):

cluster {
name = “testcluster” #设置集群的名称
#owner = “unspecified”
latlong = “unspecified”
url = “unspecified”
}
# 发送到目标 gmond 的地址和端口(单播)
udp_send_channel {
host=192.168.0.11
port = 8649
ttl = 1
}
# 接收 udp 的端口
udp_recv_channel {
port = 8649
}
#gmetad 如果过来收集数据请求的端口
tcp_accept_channel {
port = 8650
gzip_output = no
}

9. 配置 web

软连接方式

>ln -s /usr/share/ganglia /var/www/ganglia

也可以将 /usr/share/ganglia 的内容直接复制到 /var/www/ganglia

10. 修改 /etc/httpd/conf.d/ganglia.conf,改成:

Alias /ganglia /usr/share/ganglia
<Location /ganglia>
Order deny,allow
Allow from all
</Location>

11. 启动服务

#service gmetad start
#service gmond start
#service httpd restart

至此,Ganglia 的 server 端已经部署完成。

配置客户端:

12. 客户端只要配置 gmond 即可 (需要先安装 yum -y install ganglia-gmond ganglia-gmond-python)

/etc/ganglia/gmond.conf,修改以下内容 (这个 gmond 节点作为收集节点,这个节点可以是多个,最后需要在 gmetad.conf 上进行配置):

cluster {
name = “testcluster” #设置集群的名称
#owner = “unspecified”
latlong = “unspecified”
url = “unspecified”
}
# 发送到目标 gmond 的地址和端口(单播)
udp_send_channel {
host=192.168.248.130
port = 8649
ttl = 1
}
# 接收 udp 的端口
udp_recv_channel {
port = 8649
}
#gmetad 如果过来收集数据请求的端口
tcp_accept_channel {
port = 8650
gzip_output = no
}

13. 配置 HDFS、YARN 集成 Ganglia

修改 hadoop-metrics2.properties

# for Ganglia 3.1 support
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
*.sink.ganglia.period=10
# default for supportsparse is false
*.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
namenode.sink.ganglia.servers=192.168.0.11:8649 # host 请参考 gmond.conf 中的定义
datanode.sink.ganglia.servers=192.168.0.11:8649
resourcemanager.sink.ganglia.servers=192.168.0.11:8649
nodemanager.sink.ganglia.servers=192.168.0.11:8649
mrappmaster.sink.ganglia.servers=192.168.0.11:8649
jobhistoryserver.sink.ganglia.servers=192.168.0.11:8649

14.  HBase 集成 Ganglia

修改 hadoop-metrics2-hbase.properties

*.sink.file*.class=org.apache.hadoop.metrics2.sink.FileSink
# default sampling period
*.period=10
*.source.filter.class=org.apache.hadoop.metrics2.filter.GlobFilter
*.record.filter.class=${*.source.filter.class}
*.metric.filter.class=${*.source.filter.class}
hbase.sink.ganglia.record.filter.exclude=*Regions*
hbase.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
hbase.sink.ganglia.tagsForPrefix.jvm=ProcessName
*.sink.ganglia.period=20
hbase.sink.ganglia.servers=192.168.0.11:8649 # host 请参考 gmond.conf 中的定义

15. 拷贝配置文件到每一个需要监控的机器上

将 hadoop-metrics2.properties 拷贝到 $HADOOP_HOME/etc/hadoop/ 目录下

将 hadoop-metrics2-hbase.properties 拷贝到 $HBASE_HOME/conf 目录下

重新启动 hadoop&hbase 软件,令其生效。

16. 启动监控端的 gmond

service gmond start

问题汇总:

客户端已经有信息传递,能看到整体 CPU load 等信息

部署 Ganglia 监控 Hadoop 与 HBase

2. 但是各个节点的信息都是空的,显示“no matching metrics detected or rrds not readable”

部署 Ganglia 监控 Hadoop 与 HBase

3. 查看 RRDs 信息

# cd /var/lib/ganglia/rrds

# ll

drwxr-xr-x 5 ganglia ganglia  4096 Jan 17 08:50 azcluster

drwxr-xr-x 2 ganglia ganglia 36864 Jan 17 10:59 __SummaryInfo__

4. 文件夹名是小写的

# ll

drwxr-xr-x 2 ganglia ganglia 32768 Jan 17 10:58 azcbetadnl05.envazure.com

drwxr-xr-x 2 ganglia ganglia  4096 Jan 17 08:47 azcbetaldapl01.envazure.com

drwxr-xr-x 2 ganglia ganglia 36864 Jan 17 10:58 __SummaryInfo__

5. 数据都已经传递过来了

# ls azcbetadnl05.envazure.com/|more

boottime.rrd

bytes_in.rrd

bytes_out.rrd

cpu_aidle.rrd

disk_free_absolute_data1.rrd

disk_free_absolute_data2.rrd

disk_free_absolute_data3.rrd

disk_free_absolute_data4.rrd

disk_free_absolute_data5.rrd

disk_free_absolute_dev_shm.rrd

disk_free_absolute_mnt_resource.rrd

……

6. 原因:/var/lib/ganglia/rrds 中对各个节点相应的文件夹是小写,如果节点的 hostname 中包含大写字母的话,这样就发现找不到数据了。

解决方法:修改 gmetad.conf,将 case_sensitive_hostnames 的值设置为 1

# ls /etc/ganglia/

drwxr-xr-x 2 root root 4096 Jan 17 08:36 conf.d

-rw-r–r– 1 root root  171 Oct 12  2015 conf.php

-rw-r–r– 1 root root 9834 Jan 17 08:44 gmetad.conf

-rw-r–r– 1 root root 8756 Jan 17 08:45 gmond.conf

# vi gmetad.conf

# In earlier versions of gmetad, hostnames were handled in a case

# sensitive manner

# If your hostname directories have been renamed to lower case,

# set this option to 0 to disable backward compatibility.

# From version 3.2, backwards compatibility will be disabled by default.

# default: 1  (for gmetad < 3.2)

# default: 0  (for gmetad >= 3.2)

case_sensitive_hostnames 1  #设置为 1,则不会将大写变成小写

7. 修改完之后,到 RRDs 目录下查看结果。

# cd /var/lib/ganglia/rrds/azcluster

没有什么变化

# ls -al

drwxr-xr-x 2 ganglia ganglia 32768 Jan 17 10:58 azcbetadnl05.envazure.com

drwxr-xr-x 2 ganglia ganglia  4096 Jan 17 08:47 azcbetaldapl01.envazure.com

drwxr-xr-x 2 ganglia ganglia 36864 Jan 17 10:58 __SummaryInfo__

8. 重启 gmetad,让配置生效

# service gmetad restart
Shutting down GANGLIA gmetad:                              [OK]
Starting GANGLIA gmetad:                                  [OK]

9. 可以看到大写主机名的文件夹已经被创建

# ls -al
drwxr-xr-x 2 ganglia ganglia 32768 Jan 18 02:09 azcbetadnl05.envazure.com
drwxr-xr-x 2 ganglia ganglia  4096 Jan 18 02:10 AZcbetadnL05.envazure.com    <<<<<<
drwxr-xr-x 2 ganglia ganglia  4096 Jan 17 08:47 azcbetaldapl01.envazure.com
drwxr-xr-x 2 ganglia ganglia  4096 Jan 18 02:10 AZcbetaLDAPL01.envazure.com    <<<<<<
drwxr-xr-x 2 ganglia ganglia 36864 Jan 18 02:09 __SummaryInfo__

10. 可以看到信息已经过来了

# ls -l AZcbetaLDAPL01.envazure.com
-rw-rw-rw- 1 ganglia ganglia 630760 Jan 18 02:13 boottime.rrd
-rw-rw-rw- 1 ganglia ganglia 630760 Jan 18 02:13 bytes_in.rrd
-rw-rw-rw- 1 ganglia ganglia 630760 Jan 18 02:13 bytes_out.rrd
-rw-rw-rw- 1 ganglia ganglia 630760 Jan 18 02:13 cpu_aidle.rrd

11. 再看看网页显示,已经正常了。

部署 Ganglia 监控 Hadoop 与 HBase

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计6147字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19351
评论数
4
阅读量
7989442
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击

恶意团伙利用 PHP-FPM 未授权访问漏洞发起大规模攻击 PHP-FPM(FastCGl Process M...
小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比

小白也能看懂:什么是云服务器?腾讯云 vs 阿里云对比 星哥玩云,带你从小白到上云高手。今天咱们就来聊聊——什...
终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的3D玩偶了

终于收到了以女儿为原型打印的 3D 玩偶了 前些日子参加某网站活动,获得一次实物 3D 打印的机会,于是从众多...
飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛NAS玩转Frpc并且配置,随时随地直连你的私有云

飞牛 NAS 玩转 Frpc 并且配置,随时随地直连你的私有云 大家好,我是星哥,最近在玩飞牛 NAS。 在数...
多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞定

多服务器管理神器 Nexterm 横空出世!NAS/Win/Linux 通吃,SSH/VNC/RDP 一站式搞...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
开发者福利:免费 .frii.site 子域名,一分钟申请即用

开发者福利:免费 .frii.site 子域名,一分钟申请即用

  开发者福利:免费 .frii.site 子域名,一分钟申请即用 前言 在学习 Web 开发、部署...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...
自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个AI智能体—跟创业大佬对话

自己手撸一个 AI 智能体 — 跟创业大佬对话 前言 智能体(Agent)已经成为创业者和技术人绕...
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...