监控hadoop生态系统企业应该用什么监控软件

简介: 监控hadoop生态系统企业应该用什么监控软件

企业转型大数据,随着发展,可能会遇到很多的问题。该如何知道磁盘的使用情况;遇到问题,该如何及时的报警通知。该如何知道各个组件的运行情况,各自暂用内存、磁盘、网络使用等,都可能是我们想获取的。由于监控软件,粒度比较粗,想定制监控内容,该如何定制,获取某个进程的信息.由于每个企业需求不一样,经常有些初学者想了解或则提问,我们到底该用哪个监控软件好。这里整合、统计一些监控软件的一些用途,大家可以选择适合自己企业的监控软件。



Ganglia 监控hadoop集群



Ganglia 是 UC Berkeley 发起的一个开源监视项目,设计用于测量数以千计的节点。每台计算机都运行一个收集和发送度量数据(如处理器速度、内存使用量等)的名为 gmond 的守护进程。它将从操作系统和指定主机中收集。接收所有度量数据的主机可以显示这些数据并且可以将这些数据的精简表单传递到层次结构中。正因为有这种层次结构模式,才使得 Ganglia 可以实现良好的扩展。gmond带来的系统负载非常少,这使得它成为在集群中各台计算机上运行的一段代码,而不会影响用户性能。

所有这些数据收集会多次影响节点性能。网络中的 “抖动(Jitter)” 发生在大量小消息同时出现时。我们发现通过将节点时钟保持一致,就可以避免这个问题。


Ganglia 过去要求代理运行在每台主机上以从中收集信息,但是现在可以通过 Ganglia 的欺骗机制获得度量数据。


上面我们可以看到Ganglia 可以监控进程的内存、网络cpu,Ganglia 还有一个特点可以自定义。通过添加带内(in-band)插件。通过添加一些其他来源的带外(out-of-band)欺骗。

第一种方法一直是 Ganglia 的常见实践。第二种方法是最新开发的实践,并且与 Nagios 在功能上有所交叠。


Apache Ambari监控Hadoop


Ambari还是比较强大的,它使用Ganglia收集度量指标,用Nagios支持系统报警,当需要引起管理员的关注时(比如,节点停机或磁盘剩余空间不足等问题),系统将向其发送邮件。

Ambari还有以下特点1.简化集群安装

2.预先配置好关键的运维指标(metrics),可以直接查看Hadoop Core(HDFS和MapReduce)及相关项目(如HBase、Hive和HCatalog)是否健康。

3.支持作业与任务执行的可视化与分析,能够更好地查看依赖和性能。

4.通过一个完整的RESTful API把监控信息暴露出来,集成了现有的运维工具。

5.用户界面非常直观,用户可以轻松有效地查看信息并控制集群。


Ambari能够安装安全的(基于Kerberos)Hadoop集群,以此实现了对Hadoop 安全的支持,提供了基于角色的用户认证、授权和审计功能,并为用户管理集成了LDAP和Active Directory。


Zabbix监控Hadoop


zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。

zabbix可以获取namenode,jobtracker的相关信息,这也是很多人遇到的问题,比如我们想像hadoop一样,能够显示namenode,jobtracker等相关信息在我们自定义的网页中。这里是Zabbix可以使用hadoop-jobtracker.sh,但是这个脚本可能需要稍加修改。更多大家可以找找网上的资料。


Hue in hadoop


  Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job,执行Hive的SQL语句,浏览HBase数据库等等。


  Hue在数据库方面,默认使用的是SQLite数据库来管理自身的数据,包括用户认证和授权,另外,可以自定义为MySQL数据库、Postgresql数据库、以及Oracle数据库。其自身的功能包含有:


  • 对HDFS的访问,通过浏览器来查阅HDFS的数据。
  • Hive编辑器:可以编写HQL和运行HQL脚本,以及查看运行结果等相关Hive功能。
  • 提供Solr搜索应用,并对应相应的可视化数据视图以及DashBoard。
  • 提供Impala的应用进行数据交互查询。
  • 最新的版本集成了Spark编辑器和DashBoard
  • 支持Pig编辑器,并能够运行编写的脚本任务。
  • Oozie调度器,可以通过DashBoard来提交和监控Workflow、Coordinator以及Bundle。
  • 支持HBase对数据的查询修改以及可视化。
  • 支持对Metastore的浏览,可以访问Hive的元数据以及对应的HCatalog。
  • 另外,还有对Job的支持,Sqoop,ZooKeeper以及DB(MySQL,SQLite,Oracle等)的支持。

  下面就通过集成部署,来预览相关功能。


Cloudera监控hadoop


cloudera这是很多人在用的,能够监控hadoop运行情况及健康状况。前期没有邮件通知,后来也加上了这个功能。只要启用即可。Cloudera有免费用也就是试用版,如果到期会自动转为免费版。对于小企业来讲,免费版功能应该可以满足的。

但是似乎粒度也是优点粗。想更详细还是自己定义。



自定义监控


自定义监控是很多人想实现的,方法也有很多种。比如通过shell,通过抓取。其实hadoop提供了相关接口--那就是Hadoop JMX 接口.将http://namenode:50070/dfshealth.jsp 替换为 http://namenode:50070/jmx 就可以看到Hadoop自带的JMX接口所返回的JSON格式的数据,信息非常全面。同时,可以在链接的后面,添加参数来获取指定名称的监控信息,例如访问 http://namenode:50070/jmx?qry=Hadoop:service=NameNode,name=NameNodeInfo 就可以只获取NameNodeInfo的信息,通过更改qry=后面的参数,可以指定想要获取的内容,qry参数的值即为json信息中name所对应的内容。

通过同样的方法,可以获得:

JobTracker的信息:http://namenode:50030/jmx

DataNode的信息:http://datanode:50075/jmx

TaskTracker信息:http://datanode:50060/jmx



总结


通过上面介绍,相信大家有了一定的认识,但是到底哪个适合,这个跟场景和公司的技术储备有关系。但是很多人依然找不到方向,这里个人观点推荐cloudera cdh,目前国内也是用的最多的。如果想粒度更细,可以采用自定义的方式。



更多资料推荐


用 Ganglia 监控基于 Biginsights 的 HBase 集群性能

http://www.aboutyun.com/forum.php?mod=viewthread&tid=14074


spark与ganglia结合问题,以及spark监控的探讨

http://www.aboutyun.com/forum.php?mod=viewthread&tid=21077


Ganglia监控Hadoop及Hbase集群性能(安装配置)


http://www.aboutyun.com/forum.php?mod=viewthread&tid=8129


hadoop集群监控工具ambari安装


http://www.aboutyun.com/forum.php?mod=viewthread&tid=7503


相关实践学习
云数据库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
目录
相关文章
|
4月前
|
SQL 分布式计算 Hadoop
Hadoop生态系统:从小白到老司机的入门指南
Hadoop生态系统:从小白到老司机的入门指南
208 13
|
9月前
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
150 3
|
6月前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
202 7
|
分布式计算 Hadoop 分布式数据库
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
320 2
|
10月前
|
分布式计算 资源调度 监控
监控Hadoop指标
详细介绍了Hadoop指标的概念、类型和收集方法,包括JVM、RPC、DFS、YARN以及用户和组指标,以及如何配置Hadoop以收集这些指标,从而帮助监控、调试和优化Hadoop集群的性能。
180 2
监控Hadoop指标
|
10月前
|
分布式计算 监控 Hadoop
监控Hadoop集群实战篇
介绍了监控Hadoop集群的方法,包括监控Linux服务器、Hadoop指标、使用Ganglia监控Hadoop集群、Hadoop日志记录、通过Hadoop的Web UI进行监控以及其他Hadoop组件的监控,并提供了相关监控工具和资源的推荐阅读链接。
203 2
|
11月前
|
存储 SQL 分布式计算
Hadoop生态系统概述:构建大数据处理与分析的基石
【8月更文挑战第25天】Hadoop生态系统为大数据处理和分析提供了强大的基础设施和工具集。通过不断扩展和优化其组件和功能,Hadoop将继续在大数据时代发挥重要作用。
|
12月前
|
分布式计算 Hadoop Linux
Hadoop检查本地文件系统:
【7月更文挑战第24天】
136 6
|
12月前
|
分布式计算 Hadoop
|
11月前
|
存储 分布式计算 资源调度
Hadoop生态系统概览:从HDFS到Spark
【8月更文第28天】Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。它由多个组件构成,旨在提供高可靠性、高可扩展性和成本效益的数据处理解决方案。本文将介绍Hadoop的核心组件,包括HDFS、MapReduce、YARN,并探讨它们如何与现代大数据处理工具如Spark集成。
724 0

相关实验场景

更多