Ganglia监控Hadoop与HBase集群

简介:

 Hadoop集群基本部署完成,接下来就需要有一个监控系统,能及时发现性能瓶颈,给故障排除提供有力依据。监控hadoop集群系统好用的比较少,自身感觉ambari比较好用,但不能监控已有的集群环境,挺悲催的。ganglia在网上看到原生支持Hadoop、Hbase性能监控,试用一段时间感觉还不错,监控项比较全面,配置简单,软件包在epel网络源中,使用yum安装方便快捷。

 Ganglia是一个开源集群监控系统,主要用来监控系统性能,如:cpu、mem、硬盘利用率、I/O负载、网络流量等。

Ganglia涉及到三个组件:

gmetad:定期从gmond获取数据,并将数据存储到RRD存储引擎中。

gmond:被监控端代理程序,用于收集监控信息,并发送给gmetad。

ganglia-web:WEB前端,RRD绘图后通过PHP展示。

四、Ganglia集群监控系统部署

1.  CentOS7 YUM自带epel网络源,直接安装(部署到HMaster0上,尽量单独放一台机器上)

1
2
# yum install epel-release   
# yum install ganglia-web ganglia-gmetad ganglia-gmond

此时会安装出来我们要安装的ganglia之外,还要安装httpd、php、rrdtool、gd、png、jpeg等相关软件包

2.  配置监控端(在HMaster0上配置)

 2.1 配置监控程序

1
2
3
  # vi /etc/ganglia/gmetad.conf   #修改以下两项
  data_source  "Hadoop"  192.168.18.215 192.168.18.216 192.168.18.217 192.168.18.218192.168.18.219
  case_sensitive_hostnames 1

 参数说明:

 第一个是数据源,Hadoop是集群名字,后跟IP是集群中被监控节点地址。

 第二个意思是是否区分主机名大小写,默认是0,修改为1,否则节点中主机名有大写的将保存为小写,写到/var/lib/ganglia/rrds/Hadoop中,导致图形无数据。

 2.2 关联Apache,因为Ganglia自创建的配置ganglia.conf有问题,所以先删除,再创建个软连接到Apache根目录下。

1
2
  # rm /etc/httpd/conf.d/ganglia.conf  
  # ln -s /usr/share/ganglia /var/www/html/ganglia

 2.3启动Apache和Ganglia,并设置开机启动

1
2
3
4
  # systemctl start httpd
  # systemctl start gmetad
  # systemctl enable httpd
  # systemctl enable gmetad

3.  安装与配置被监控端(每台同样配置)

 3.1 安装与配置代理程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
  # yum install ganglia-gmond
  # vi /etc/ganglia/gmond.conf
  ……
  cluster{
    name =  "Hadoop"               #集群名,和上面那个一样
    owner =  "unspecified"
    latlong =  "unspecified"
    url =  "unspecified"
  }
   
  /* Thehost section describes attributes of the host, like the location */
  host {
    location =  "unspecified"
  }
   
  /*Feel  free  to specify as many udp_send_channels as you like.  Gmond
     used to only support having a single channel*/
  udp_send_channel{
    #bind_hostname = yes # Highly recommended,soon to be default.
                        # This option tells gmond to use asource  address
                         # that resolves to themachine's hostname.  Without
                         # this, the metrics mayappear to come from any
                         # interface and the DNSnames associated with
                         # those IPs will be usedto create the RRDs.
    #mcast_join = 239.2.11.71   #关闭多播
    host = 192.168.18.215      #添加发送IP/主机名
    port = 8649           #默认端口
    ttl = 1
  }
  
  /* Youcan specify as many udp_recv_channels as you like as well. */
  udp_recv_channel{
    #mcast_join = 239.2.11.71  
    port = 8649
    bind = 192.168.18.215       #接收地址
    retry_bind =  true
    # Size of the UDP buffer. If you are handlinglots of metrics you really
    # should bump it up to e.g. 10MB or evenhigher.
    # buffer = 10485760
  }
  ……

3.2 将修改好的gmond.conf配置scp到其他节点

1
# scp /etc/ganglia/gmond.conf root@HMaster1:/etc/ganglia/gmond.conf   #分别拷贝HSlave0、1、2

3.3 启动代理程序,并设置开机启动

1
2
# systemctl start gmond
# systemctl enable gmond

4.  添加Hadoop被Ganglia监控,去掉文件中以***释并修改(每台同样配置)

1
2
3
4
5
6
7
8
9
10
# vi /opt/hadoop-2.6.0/etc/hadoop/hadoop-metrics2.properties
*.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
namenode.sink.ganglia.servers=192.168.18.215:8649     #当有多个ganglia监控系统时,以逗号分隔
datanode.sink.ganglia.servers=192.168.18.215:8649      #都指定ganglia服务器
resourcemanager.sink.ganglia.servers=192.168.18.215:8649
nodemanager.sink.ganglia.servers=192.168.18.215:8649

5.  添加HBase被Ganglia监控,添加如下(每台同样配置)

1
2
3
4
5
# vi /opt/hbase-1.0.1.1/conf/hadoop-metrics2-hbase.properties
*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31  
*.sink.ganglia.period=10  
hbase.sink.ganglia.period=10  
hbase.sink.ganglia.servers=192.168.18.215:8649

6.  重启Hadoop和HBase

1
2
3
4
5
6
# stop-dfs.sh
# stop-yarn.sh
# stop-hbase.sh
# start-dfs.sh
# start-yarn.sh
# start-hbase.sh   #HRegionServer节点需要手动启动(hbase-daemon.sh start regionserver)

7.  通过WEB查看性能监控数据

访问地址:http://192.168.18.215/ganglia

wKiom1WSBTDC1VBOAAaOmA7E-wk380.jpgwKiom1WSBTvg-RTGAASEQJhXUhs814.jpg

wKioL1WSCozAQB_1AAPqsebXF10742.jpg




本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1669312,如需转载请自行联系原作者

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
1月前
|
Prometheus 监控 Cloud Native
在 HBase 集群中,Prometheus 通常监控哪些类型的性能指标?
在 HBase 集群中,Prometheus 监控关注的核心指标包括 Master 和 RegionServer 的进程存在性、RPC 请求数、JVM 内存使用率、磁盘和网络错误、延迟和吞吐量、资源利用率及 JVM 使用信息。通过 Grafana 可视化和告警规则,帮助管理员实时监控集群性能和健康状况。
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
85 4
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
Hadoop-37 HBase集群 JavaAPI 操作3台云服务器 POM 实现增删改查调用操作 列族信息 扫描全表
39 3
|
2月前
|
分布式计算 Hadoop Shell
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
Hadoop-36 HBase 3节点云服务器集群 HBase Shell 增删改查 全程多图详细 列族 row key value filter
62 3
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
Hadoop-34 HBase 安装部署 单节点配置 hbase-env hbase-site 超详细图文 附带配置文件
107 2
|
2月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
65 2
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
192 6
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
83 2
|
6天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
33 4
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
115 2

相关实验场景

更多