跳转至

Hadoop HDFS DataNode

采集 HDFS datanode 指标信息。

安装部署

由于 DataNode 是 java 语言开发的,所以可以采用 jmx-exporter 的方式采集指标信息。

1. DataNode 配置

1.1 下载 jmx-exporter

下载地址:https://github.com/prometheus/jmx_exporter

1.2 下载 jmx 脚本

下载地址:https://github.com/lrwh/jmx-exporter/blob/main/hadoop-hdfs-datanode.yml

1.3 DataNode 启动参数调整

在 datanode 的启动参数添加

{{JAVA_GC_ARGS}} -javaagent:/opt/guance/jmx/jmx_exporter-1.0.1.jar=localhost:17106:/opt/guance/jmx/hadoop-hdfs-datanode.yml

1.4 重启 DataNode

2. DataKit 采集器配置

2.1 安装 DataKit

2.2 配置采集器

通过 jmx-exporter 可以直接暴露metrics url,所以可以直接通过prom采集器进行采集。

进入 DataKit 安装目录下的 conf.d/prom ,复制 prom.conf.sampledatanode.conf

cp prom.conf.sample datanode.conf

调整datanode.conf内容如下:

  urls = ["http://localhost:17106/metrics"]
  source ="hdfs-datanode"
  [inputs.prom.tags]
    component = "hdfs-datanode" 
  interval = "10s"

其他配置按需调整

,调整参数说明 :

  • urls:jmx-exporter指标地址,这里填写对应组件暴露出来的指标 url
  • source:采集器别名,建议做区分
  • keep_exist_metric_name: 保持指标名称
  • interval:采集间隔
  • inputs.prom.tags: 新增额外的 tag

3. 重启 DataKit

重启 DataKit

指标

Hadoop 指标集

DataNode 指标位于 Hadoop 指标集下,这里主要介绍 DataNode 相关指标说明

Metrics 描述 单位
datanode_block_verification_failures 数据节点块校验失败次数 count
datanode_blocks_cached 数据节点缓存的块数量 count
datanode_blocks_read 数据节点读取的块数量 count
datanode_blocks_removed 数据节点移除的块数量 count
datanode_blocks_replicated 数据节点复制的块数量 count
datanode_blocks_uncached 数据节点未缓存的块数量 count
datanode_blocks_verified 数据节点已验证的块数量 count
datanode_blocks_written 数据节点写入的块数量 count
datanode_bytes_read 数据节点读取的字节数 byte
datanode_bytes_written 数据节点写入的字节数 byte
datanode_cache_capacity 数据节点缓存容量 byte
datanode_cache_reports_avg_time 数据节点缓存报告平均时间 ms
datanode_cache_reports_num_ops 数据节点缓存报告操作次数 count
datanode_cache_used 数据节点已使用的缓存量 byte
datanode_capacity 数据节点容量 count
datanode_data_node_active_xceivers_count 数据节点活跃接收器数量 count
datanode_datanode_network_errors 数据节点网络错误次数 count
datanode_dfs_used 数据节点已使用的DFS空间 btye
datanode_dropped_pub_all 数据节点丢失的发布消息总数 count
datanode_estimated_capacity_lost 数据节点估计丢失的容量 byte
datanode_flush_io_rate_avg_time 数据节点刷新I/O平均速率时间 ms
datanode_flush_io_rate_num_ops 数据节点刷新I/O操作次数 count
datanode_flush_nanos_avg_time 数据节点刷新操作平均耗时(纳秒) ns
datanode_flush_nanos_num_ops 数据节点刷新操作次数 count
datanode_fsync_count 数据节点fsync操作次数 count
datanode_heartbeats_avg_time 数据节点心跳平均时间 ms
datanode_heartbeats_num_ops 数据节点心跳操作次数 count
datanode_heartbeats_total_avg_time 数据节点总心跳平均时间 ms
datanode_heartbeats_total_num_ops 数据节点总心跳操作次数 count
datanode_incremental_block_reports_avg_time 数据节点增量块报告平均时间 ms
datanode_incremental_block_reports_num_ops 数据节点增量块报告操作次数 count
datanode_lifelines_avg_time 数据节点生命周期信号平均时间 ms
datanode_lifelines_num_ops 数据节点生命周期信号操作次数 count
datanode_metadata_operation_rate_avg_time 数据节点元数据操作平均速率时间 ms
datanode_metadata_operation_rate_num_ops 数据节点元数据操作次数 count
datanode_num_active_sinks 数据节点活跃接收器数量 count
datanode_num_active_sources 数据节点活跃源数量 count
datanode_num_all_sinks 数据节点所有接收器数量 count
datanode_num_all_sources 数据节点所有源数量 count
datanode_num_blocks_cached 数据节点缓存的块数量 count
datanode_num_blocks_failed_to_cache 数据节点缓存失败的块数量 count
datanode_num_blocks_failed_to_un_cache 数据节点未缓存失败的块数量 count
datanode_num_blocks_failed_to_uncache 数据节点取消缓存失败的块数量 count
datanode_num_failed_volumes 数据节点失败的卷数量 count
datanode_publish_avg_time 数据节点发布平均时间 ms
datanode_publish_num_ops 数据节点发布操作次数 count
datanode_ram_disk_blocks_deleted_before_lazy_persisted 数据节点延迟持久化前删除的RAM磁盘块数量 count
datanode_ram_disk_blocks_evicted 数据节点逐出的RAM磁盘块数量 count
datanode_ram_disk_blocks_read_hits 数据节点RAM磁盘块读命中次数 count
datanode_ram_disk_blocks_write 数据节点RAM磁盘块写入次数 count
datanode_ram_disk_bytes_write 数据节点RAM磁盘写入字节数 byte
datanode_read_block_op_avg_time 数据节点读块操作平均时间 ms
datanode_read_block_op_num_ops 数据节点读块操作次数 count
datanode_read_io_rate_avg_time 数据节点读I/O平均速率时间 ms
datanode_read_io_rate_num_ops 数据节点读I/O操作次数 count
datanode_reads_from_local_client 数据节点来自本地客户端的读取次数 count
datanode_reads_from_remote_client 数据节点来自远程客户端的读取次数 count
datanode_remaining 数据节点剩余空间 byte
datanode_remote_bytes_read 数据节点远程读取字节数 byte
datanode_remote_bytes_written 数据节点远程写入字节数 byte
datanode_replace_block_op_avg_time 数据节点替换块操作平均时间 ms
datanode_replace_block_op_num_ops 数据节点替换块操作次数 count
datanode_send_data_packet_blocked_on_network_nanos_avg_time 数据节点发送数据包网络阻塞平均耗时(纳秒) ns
datanode_send_data_packet_blocked_on_network_nanos_num_ops 数据节点发送数据包网络阻塞操作次数 count
datanode_send_data_packet_transfer_nanos_avg_time 数据节点发送数据包传输平均耗时(纳秒) ns
datanode_send_data_packet_transfer_nanos_num_ops 数据节点发送数据包传输操作次数 count
datanode_snapshot_avg_time 数据节点快照平均时间 ms
datanode_snapshot_num_ops 数据节点快照操作次数 count
datanode_sync_io_rate_avg_time 数据节点同步I/O平均速率时间 ms
datanode_sync_io_rate_num_ops 数据节点同步I/O操作次数 count
datanode_total_data_file_ios 数据节点总数据文件I/O次数 count
datanode_total_file_io_errors 数据节点总文件I/O错误次数 count
datanode_total_metadata_operations 数据节点总元数据操作次数 count
datanode_total_read_time 数据节点总读取时间 ms
datanode_total_write_time 数据节点总写入时间 ms
datanode_volume_failures 数据节点卷失败次数 count
datanode_write_block_op_avg_time 数据节点写块操作平均时间 ms
datanode_write_block_op_num_ops 数据节点写块操作次数 count
datanode_write_io_rate_avg_time 数据节点写I/O平均速率时间 ms
datanode_write_io_rate_num_ops 数据节点写I/O操作次数 count
datanode_writes_from_local_client 数据节点来自本地客户端的写入次数 count
datanode_writes_from_remote_client 数据节点来自远程客户端的写入次数 count
datanode_xceiver_count 数据节点接收器数量 count
datanode_xmits_in_progress 数据节点正在进行的传输次数 count

文档评价

文档内容是否对您有帮助? ×