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

网络上读取滚动请求花费的时间(以毫秒为单位)

可以通过 mapredmapreduce 以编程方式使用这些计数器,具体取决于所使用的 API。无论选择哪种方式,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