共计 6939 个字符,预计需要花费 18 分钟才能阅读完成。
Hadoop2.0.0-cdh4.3.0 下关于 ganglia 配置:
修改配置文件:$HADOOP_HOME/etc/hadoop/hadoop-metrics.properties
添加如下内容:
*.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
#192.168.0.100 组播地址 8801 是接受和发送数据端口
namenode.sink.ganglia.servers=239.2.11.71:8801
datanode.sink.ganglia.servers=239.2.11.71:8801
jobtracker.sink.ganglia.servers=239.2.11.71:8801
tasktracker.sink.ganglia.servers=239.2.11.71:8801
maptask.sink.ganglia.servers=239.2.11.71:8801
reducetask.sink.ganglia.servers=239.2.11.71:8801
各项控制指标说明:
dfs.datanode.blockChecksumOp_avg_time 块校验平均时间
dfs.datanode.blockChecksumOp_num_ops 块检验次数
dfs.datanode.blockReports_avg_time 块报告平均时间
dfs.datanode.blockReports_num_ops 块报告次数
dfs.datanode.block_verification_failures 块验证失败次数
dfs.datanode.blocks_read 从硬盘读块总次数
dfs.datanode.blocks_removed 删除块数目
dfs.datanode.blocks_replicated 块复制总次数
dfs.datanode.blocks_verified 块验证总次数
dfs.datanode.blocks_written 向硬盘写块总次数
dfs.datanode.bytes_read 读出总字节包含 crc 验证文件字节数
dfs.datanode.bytes_written 写入总字节数(在写入每个 packet 时计数)
dfs.datanode.copyBlockOp_avg_time 复制块平均时间(单位 ms)
dfs.datanode.copyBlockOp_num_ops 复制块次数
dfs.datanode.heartBeats_avg_time 向 namenode 汇报平均时间
dfs.datanode.heartBeats_num_ops 向 namenode 汇报总次数
dfs.datanode.readBlockOp_avg_time 读块平均时间(单位 ms)
dfs.datanode.readBlockOp_num_ops 读块总次数 一般和 dfs.datanode.blocks_read 一致,先从硬盘读入输入流,增加 dfs.datanode.blocks_read 计数,然后再增加该计数
dfs.datanode.reads_from_local_client 从本地读入块次数
dfs.datanode.reads_from_remote_client 从远程读入块次数
dfs.datanode.replaceBlockOp_avg_time 替换块平均时间(负载均衡策略)
dfs.datanode.replaceBlockOp_num_ops 替换块次数(负载均衡策略)
dfs.datanode.volumeFailures notfound 和 block 拥有的 volume 失败有关
dfs.datanode.writeBlockOp_avg_time 写块平均时间
dfs.datanode.writeBlockOp_num_ops 写块总次数一般和 dfs.datanode.blocks_written 一致,先从硬盘,增加 dfs.datanode.blocks_read 计数,然后再增加该计数
dfs.datanode.writes_from_local_client 写本地次数
dfs.datanode.writes_from_remote_client 写远程次数
jvm.metrics.gcCount gc 总次数
jvm.metrics.gcTimeMillis gc 总耗时(ms)
jvm.metrics.logError jvm error 次数
jvm.metrics.logFatal jvm 出现 fatal 次数
jvm.metrics.logInfo jvm info 出现次数
jvm.metrics.logWarn jvm warn 出现次数
jvm.metrics.maxMemoryM jvm 试图使用最大内存(M),如果没有限制返回 Long.MAX_VALUE
jvm.metrics.memHeapCommittedM jvm 提交堆内存大小
jvm.metrics.memHeapUsedM jvm 使用堆内存大小
jvm.metrics.memNonHeapCommittedM jvm 非堆内存已提交大小
jvm.metrics.memNonHeapUsedM jvm 非堆内存已使用大小
jvm.metrics.threadsBlocked 正在阻塞等待监视器锁的线程数目
jvm.metrics.threadsNew 尚未启动的线程数目
jvm.metrics.threadsRunnable 正在执行状态的线程数目
jvm.metrics.threadsTerminated 已退出线程数目
jvm.metrics.threadsTimedWaiting 等待另一个线程执行取决于指定等待时间的操作的线程数目
jvm.metrics.threadsWaiting 无限期地等待另一个线程来执行某一特定操作的线程数目
rpc.metrics.NumOpenConnections number of open connections rpc 连接打开的数目
rpc.metrics.ReceivedBytes number of bytes received rpc 收到的字节数
rpc.metrics.RpcProcessingTime_avg_time Average time for RPC Operations in last interval rpc 在最近的交互中平均操作时间
rpc.metrics.RpcProcessingTime_num_ops rpc 在最近的交互中连接数目
rpc.metrics.RpcQueueTime_avg_time rpc 在交互中平均等待时间
rpc.metrics.RpcQueueTime_num_ops rpc queue 中完成的 rpc 操作数目
rpc.metrics.SentBytes number of bytes sent rpc 发送的数据字节
rpc.metrics.callQueueLen length of the rpc queue rpc 队列长度
rpc.metrics.rpcAuthenticationFailures number of failed authentications rpc 验证失败次数
rpc.metrics.rpcAuthenticationSuccesses number of successful authentications 验证成功数
rpc.metrics.rpcAuthorizationFailures number of failed authorizations 授权失败次数
rpc.metrics.rpcAuthorizationSuccesses number of successful authorizations 成功次数
mapred.shuffleInput.shuffle_failed_fetches 从 map 输出中取数据过程中获取失败次数
mapred.shuffleInput.shuffle_fetchers_busy_percent 在获取 map 输出过程中并行获取线程忙碌占总并行获取线程百分比
mapred.shuffleInput.shuffle_input_bytes shuffle 过程中读入数据字节
mapred.shuffleInput.shuffle_success_fetches 从 map 输出中取数据过程中获取成功次数
mapred.shuffleOutput.shuffle_failed_outputs 向 reduce 发送 map 输出失败次数
mapred.shuffleOutput.shuffle_handler_busy_percent 向 reduce 发送 map 输出中 server 线程忙碌占总工作线程(在 tasktracker.http.threads 中配置) 百分比。
mapred.shuffleOutput.shuffle_output_bytes shuffle 过程中输出数据字节
mapred.shuffleOutput.shuffle_success_outputs 向 reduce 成功
mapred.tasktracker.mapTaskSlots 设置 map 槽数
mapred.tasktracker.maps_running 正在运行的 map 数
mapred.tasktracker.reduceTaskSlots 设置 reduce 槽数
mapred.tasktracker.reduces_running 正在运行的 reduce 数
mapred.tasktracker.tasks_completed 完成任务数
mapred.tasktracker.tasks_failed_ping 因 tasktracker 与 task 交互失败导致的失败的 task 数目
mapred.tasktracker.tasks_failed_timeout 因 task 未在 mapred.task.timeout 配置的(默认 10 分钟) 时间内汇报进度而超时 kill 的 task 数目
rpc.detailed-metrics.canCommit_avg_time rpc 询问是否提交任务平均时间
rpc.detailed-metrics.canCommit_num_ops rpc 询问是否提交任务次数
rpc.detailed-metrics.commitPending_avg_time rpc 报告任务提交完成,但是该提交仍然处于 pending 状态的平均时间
rpc.detailed-metrics.commitPending_num_ops rpc 报告任务提交完成,但是该提交仍然处于 pending 状态的次数
rpc.detailed-metrics.done_avg_time rpc 报告任务成功完成的平均时间
rpc.detailed-metrics.done_num_ops rpc 报告任务成功完成的次数
rpc.detailed-metrics.fatalError_avg_time rpc 报告任务出现 fatalerror 的平均时间
rpc.detailed-metrics.fatalError_num_ops rpc 报告任务出现 fatalerror 的次数
rpc.detailed-metrics.getBlockInfo_avg_time 从指定 datanode 获取 block 的平均时间
rpc.detailed-metrics.getBlockInfo_num_ops 从指定 datanode 获取 block 的次数
rpc.detailed-metrics.getMapCompletionEvents_avg_time reduce 获取已经完成的 map 输出地址事件的平均时间
rpc.detailed-metrics.getMapCompletionEvents_num_ops reduce 获取已经完成的 map 输出地址事件的次数
rpc.detailed-metrics.getProtocolVersion_avg_time 获取 rpc 协议版本信息的平均时间
rpc.detailed-metrics.getProtocolVersion_num_ops 获取 rpc 协议版本信息的次数
rpc.detailed-metrics.getTask_avg_time 当子进程启动后,获取 jvmtask 的平均时间
rpc.detailed-metrics.getTask_num_ops 当子进程启动后,获取 jvmtask 的次数
rpc.detailed-metrics.ping_avg_time 子进程周期性的检测父进程是否还存活的平均时间
rpc.detailed-metrics.ping_num_ops 子进程周期性的检测父进程是否还存活的次数
rpc.detailed-metrics.recoverBlock_avg_time 为指定的 block 开始恢复标记生成的平均时间
rpc.detailed-metrics.recoverBlock_num_ops 为指定的 block 开始恢复标记生成的次数
rpc.detailed-metrics.reportDiagnosticInfo_avg_time 向父进程报告任务错误消息的平均时间,该操作应尽可能少,这些消息会在 jobtracker 中保存
rpc.detailed-metrics.reportDiagnosticInfo_num_ops 向父进程报告任务错误消息的次数
rpc.detailed-metrics.startBlockRecovery_avg_time 开始恢复 block 的平均时间
rpc.detailed-metrics.startBlockRecovery_num_ops 开始恢复 block 的次数
rpc.detailed-metrics.statusUpdate_avg_time 汇报子进程进度给父进程的平均时间
rpc.detailed-metrics.statusUpdate_num_ops 汇报子进程进度给父进程的次数
rpc.detailed-metrics.updateBlock_avg_time 更新 block 到新的标记及长度的平均操作时间
rpc.detailed-metrics.updateBlock_num_ops 更新 block 到新的标记及长度的次数
相关阅读:
使用 Ganglia 监控 Hadoop 集群 http://www.linuxidc.com/Linux/2012-05/61349.htm
在 VMware Workstation 的 Ubuntu 下安装和配置 Hadoop 与 Ganglia http://www.linuxidc.com/Linux/2013-06/85856.htm
Ganglia 安装部署之一建立 Grid http://www.linuxidc.com/Linux/2013-05/83673.htm
Ganglia 极其简单安装教程 yum 版 http://www.linuxidc.com/Linux/2012-12/76536.htm
Ganglia 快速开始向导(翻译自官方 wiki)http://www.linuxidc.com/Linux/2013-11/92747.htm
CentOS 集群上安装 Ganglia-3.6.0 监控 Hadoop-2.2.0 和 HBase-0.96.0 http://www.linuxidc.com/Linux/2014-01/95804.htm
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13