Hadoop2.0:Jvisualvm监控MapReduce和spark作业

来源:互联网 发布:美国网络银行有几家 编辑:程序博客网 时间:2024/06/07 08:07

注意: 这个监控适用于执行时间长的作业,比如数据量较大的mapreduce和spark,以及spark streaming等。对几秒到几分钟的作业,恐怕你还没配置好jvisualvm监控,作业就结束了。

昨天看了一篇介绍如何用jvisualvm监控spark作业的方法,因为我的MapReduce作业和spark作业都是跑在hadoop2.0的yarn上的,所以自己探索者把mapreduce和spark on yarn都配置了jvisualvm监控。监控效果很赞,很直观,相信很多同学会用到的。

jvisualvm是java自带的小组件,在昨天之前我都不知道它的存在。在javaPath/jdk/bin/下面。在Linux下怎么用它我还没试,在windows下直接双击jvisualvm.exe打开就好。



spark on yarn配置


1.  客户端的spark-default.conf中添加一行配置:

spark.driver.extraJavaOptions   -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false


2. 启动spark作业


3. 打开jvisualvm,点“文件”--“添加jmx连接”,输入driver所在host:port。这里的port就是1里面配置的1099。注意,防止端口冲突。



MapReduce on yarn


1. 客户端的mapred-site.xml中修改配置项“yarn.app.mapreduce.am.command-opts”,在末尾添加:

”-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false


2. 启动MapReduce作业

3. 打开jvisualvm,点“文件”--“添加jmx连接”,输入AM所在host:port。


监控界面类似如下:




++ 

还可以用同样的方法配置jvisualvm监控rm,监控namenode等,都很容易配置。因为rm, nn其实都是运行在jvm里的,所以jvisualvm监控都是ok的。具体的配置方法和上面的一样,就不详细说明了。

考虑了下,貌似不可以用jvisualvm监控hadoop1.0中的MapReduce作业,因为1.0中没有AM的概念,与AM类似的操作时在jobtracker中执行的,所以无法做到以作业为单位的监控。



0 0
原创粉丝点击