整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

10.2.3 Java 管理扩展(JMX)

Java 管理扩展(Java Management Extensions,JMX)是一个标准的 Java API, 可监控和管理应用。Hadoop包括多个托管bean(MBean),可以将Hadoop度 量发布给支持JMX的应用。现有MBean能够发布在“dfs”和“rpc”上 下文中的度量,但无法发布“mapred”(在本书写就之际)和“jvm”上下文 的度量(因为JVM自带的JVM度量更为丰富)。这些Mbean如表10-3所示。

10-3. Hadoop 中的 MBeans

MBean 类

守护进程

度量

NameNodeActivityMBean

Namenode

namenode的活动度量,例如新建文件操作的执行次数

FSNamesystemMBean

Namenode

namenode的状态度量,例如已连接的datanode数量

DataNodeActivityMBean

Datanode

datanode的活动度量,例如已读字节数

FSDatasetMBean

Datanode

datanode的存储度量,例如总存储容量、空闲存储容量

RpcActivityMBean

所有使用RPC的守护进 程,包括 namenode、 datanode、jobtracker 和 tasktracker

RPC统计信息,例如平均处理时间等

JDK自带一个名为JConsole的工具来浏览JVM中MBean。该工具可以浏览Hadoop的度量,如图10-3所示。

图片.png 

10-3. JConsole的视图,显示正在本地化运行的namenode的文件系统状态的度量

尽管使用默认度量配置就可以通过JMX来查看Hadoop度量,但是除非用户摒弃NullContext并且改用其他MetricsContext实现类,否则这些度量值将不会自动更新。例如,如果用户仅仅通过JMX检测质量,则最好采用NullContextWithUpdateThread。

许多第三方的监控和报警系统均可查询MBean,因此通过这些外部系统使用JMX监控一个Hadoop集群就很平常,前提是启用远程访问JMX功能和合理设置集群的安全级别,包括密码认证,SSL连接和SSL客户端认证等。参考Jave官方文档深入料及如何配置这些选项。

可通过设置Java的系统属性来启用远程访问JMX的所有选项,即:编辑conf/hadoop-env.sh文件来进行设置。以下配置设置演示如何在NameNode(已经关闭SSL协议)启用密码认证的远程访问JMX。该步骤与其他Hadoop守护进程非常相似:

图片.png

文件jmxremote.password以纯文本格式列举出用户名和密码。JMX文档对 这个文件的格式有详细描述。

采用这种配置方案之后,即可使用JConsole浏览远程namenode上的 MBean。此外,还可以选用JMX工具获取MBean的属性值。这类工具很 多,下例演示如何使用jmxquery命令行工具(Nagios插件,可从 http://code.google.com/p/jmxquery下载)来获取仍需复制的块数量:

% ./check_jmx -U service:jmx:rmi:///jndi/rmi://namenode-host:8004/jmxrmi -0 \ hadoop:service=NameNode> name=FSNamesystemState -A UnderReplicatedBlocks \ -w 100 -c 1000 -username monitorRole -password secret
JMX OK - UnderReplicatedBlocks is 0

此命令在端口 8004与主机namenode-host之间建立JMX RMI连接,同时采 用给定的用户名和密码进行认证。该命令读取对象(hadoop:service= NameNode,name=FSNamesystemState)的 UnderReplicatedBlocks 属性值,打印到

控制台。选项-w和-c分别指定该值的警告和关键级别:恰当的取值通常需要 在集群上操作一段时间之后才能得到。

一种常用方案是,在使用Ganglia的同时,使用Nagios这样的警告系统来 监控Hadoop集群。Ganglia擅长高效地收集大量度量,并以图形化界面呈 现;Nagios以及类似系统擅长在若干项度量的临界阈值被突破之后及时 报警。

转载请注明:全栈大数据 » 10.2.3 Java 管理扩展(JMX)

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址