Hadoop 指标
编辑Hadoop 指标编辑
Hadoop 系统会为其运行的每个作业记录一组指标计数器。 elasticsearch-hadoop 对此进行了扩展,并通过利用 Hadoop 计数器 基础设施,为其运行的每个作业提供有关其活动的指标。在每次运行期间,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