Hadoop 指标
编辑Hadoop 指标
编辑Hadoop 系统会为它运行的每个作业记录一组指标计数器。elasticsearch-hadoop 对此进行了扩展,并利用 Hadoop Counters 基础设施,为每个作业运行提供关于其活动的指标。在每次运行时,elasticsearch-hadoop 会发送来自每个任务实例的统计信息,这些信息在运行过程中会被 Map/Reduce 基础设施聚合,并通过标准的 Hadoop API 提供。
elasticsearch-hadoop 提供了以下计数器,可通过 org.elasticsearch.hadoop.mr.Counter
枚举访问。
表 10. 可用计数器
计数器名称 | 用途 |
---|---|
数据聚焦 |
|
BYTES_SENT |
通过网络发送到 Elasticsearch 的数据/通信总字节数 |
BYTES_ACCEPTED |
Elasticsearch 接受的数据/文档字节数 |
BYTES_RETRIED |
Elasticsearch 拒绝的数据/文档字节数 |
BYTES_RECEIVED |
从 Elasticsearch 接收的数据/文档字节数 |
文档聚焦 |
|
DOCS_SENT |
通过网络发送到 Elasticsearch 的文档数量 |
DOCS_ACCEPTED |
发送并被 Elasticsearch 接受的文档数量 |
DOCS_RETRIED |
发送但被 Elasticsearch 拒绝的文档数量 |
DOCS_RECEIVED |
从 Elasticsearch 接收的文档数量 |
网络聚焦 |
|
BULK_TOTAL |
向 Elasticsearch 发出的批量请求数量 |
BULK_RETRIES |
批量重试次数(由文档拒绝引起) |
SCROLL_TOTAL |
从 Elasticsearch 拉取的滚动数量 |
NODE_RETRIES |
节点回退次数(由网络错误引起) |
NET_RETRIES |
网络重试次数(由网络错误引起) |
时间聚焦 |
|
NET_TOTAL_TIME_MS |
在网络上花费的总时间(以毫秒为单位) |
BULK_TOTAL_TIME_MS |
批量请求在网络上花费的时间(以毫秒为单位) |
BULK_RETRIES_TOTAL_TIME_MS |
在网络上重试批量请求所花费的时间(以毫秒为单位) |
SCROLL_TOTAL_TIME_MS |
在网络上读取滚动请求所花费的时间(以毫秒为单位) |
可以根据使用的 API,通过 mapred 或 mapreduce 以编程方式使用这些计数器。无论选择哪种方式,elasticsearch-hadoop 都会自动报告,无需用户干预。实际上,当使用 elasticsearch-hadoop 时,您将在作业运行结束时看到报告的统计信息,例如
13:55:08,100 INFO main mapreduce.Job - Job job_local127738678_0013 completed successfully 13:55:08,101 INFO main mapreduce.Job - Counters: 35 ... Elasticsearch Hadoop Counters Bulk Retries=0 Bulk Retries Total Time(ms)=0 Bulk Total=20 Bulk Total Time(ms)=518 Bytes Accepted=159129 Bytes Sent=159129 Bytes Received=79921 Bytes Retried=0 Documents Accepted=993 Documents Sent=993 Documents Received=0 Documents Retried=0 Network Retries=0 Network Total Time(ms)=937 Node Retries=0 Scroll Total=0 Scroll Total Time(ms)=0