当前位置: 首页 > news >正文

小说网站的内容做产品展厅柜设计公司

小说网站的内容做,产品展厅柜设计公司,企业网站前期建设,网站免费正能量直接进入在线HiveMetaStore的指标分析(一) 文章目录 HiveMetaStore的指标分析(一)背景目标部署架构 hive-site.xml相关配置元数据服务的指标相关配置 源码部分(hive2.3系)JvmPauseMonitor.javaHiveMetaStore的内部类HMS…

HiveMetaStore的指标分析(一)

文章目录

  • HiveMetaStore的指标分析(一)
    • 背景
      • 目标部署架构
    • hive-site.xml相关配置
      • 元数据服务的指标相关配置
    • 源码部分(hive2.3系)
      • `JvmPauseMonitor.java`
      • `HiveMetaStore`的内部类`HMSHandler`
      • MetricsFactory的init(conf)方法
      • `CodahaleMetrics.java`
        • 具体指标对象
      • 指标导出
        • JsonFileReporter输出的文件内容示例
      • 其他
    • 腾讯云的hive-metastore指标
    • 参考资料

背景

对当前单独部署的HiveMetaStore服务进行指标监控。

目标部署架构

HiveServer2组
Metastore组
mysql组
HiveServer2_1
HiveServer2_2
HiveServer2_3
Metastore1
Metastore2
Metastore3
master
slave

验证步骤

  • 场景一:

    Metastore服务开启监控,指标输出方式采用默认。HiveServer2采用直连数据库的方式创建MetaStoreClient,其配置文件中也开启了metastore指标监控,同时开启WebUI。

    现象:每个HiveServer2服务都可以通过WebUI看到指标dump。但是,每个HiveServer2的实际访问的指标并非从Metastore组中获取的指标。是Client端侧的指标,且每个节点之间没有关联。

  • 场景二:

    Metastore服务开启监控,指标输出方式采用默认。。HiveServer2采用连接Metastore服务组的方式工作,其配置文件中也开启了metastore指标监控,同时开启WebUI。

    现象:每个HiveServer2服务都可以通过WebUI看到指标dump。但是没有Metastore相关的指标。

结论:以上两种方式,通过HiveServer2的WebUI服务都无法获取到单独的Metastore的服务指标。

  • 场景三:

    单纯的开启Metastore服务的监控,并将指标输出json文件中。

    现象:每个Metastore服务都生成自己的json文件,但是目前的版本在更新问价的时候会无法.json文件,只会定时的更新.json.tmp文件。

说明,以目标部署架构为例,单纯的MetaStore服务的指标是单纯的自己输出的。要么读取json文件,通过开启服务的JMX,在通过分别访问各个Metastore节点的JMX服务获取指标。

hive-site.xml相关配置

元数据服务的指标相关配置

  • 开启指标功能

    hive.metastore.metrics.enabledtrue

  • 指定指标功能实现类

    hive.service.metrics.classorg.apache.hadoop.hive.common.metrics.metrics2.CodahaleMetrics

  • 指标输出的类型

    hive.service.metrics.reporter"JMX,CONSOLE,JSON_FILE,HADOOP2"

  • 指标输出的JSON文件位置

    hive.service.metrics.file.location:“/tmp/report.json

  • 指标输出的JSON文件更新频率

    hive.service.metrics.file.frequency5s

  • 指标输出到hadoop2组件指标中的名称

    hive.service.metrics.hadoop2.component"hivemetestore"

  • 指标输出到hadoop2组件指标中的时间间隔

    hive.service.metrics.hadoop2.frequency30s

源码部分(hive2.3系)

HiveMetaStore.java文件中main方法内,会根据配置去决定是否启动指标服务类。

      //Start Metrics for Standalone (Remote) Mode - hive.metastore.metrics.enabledif (conf.getBoolVar(ConfVars.METASTORE_METRICS)) {try {MetricsFactory.init(conf);} catch (Exception e) {// log exception, but ignore inability to startLOG.error("error in Metrics init: " + e.getClass().getName() + " "+ e.getMessage(), e);}}Lock startLock = new ReentrantLock();Condition startCondition = startLock.newCondition();AtomicBoolean startedServing = new AtomicBoolean();// 方法中会启动JvmPauseMonitor监控器startMetaStoreThreads(conf, startLock, startCondition, startedServing);// 方法中去实例化了HMSHandler,用户处理客户端过来的请求startMetaStore(cli.getPort(), ShimLoader.getHadoopThriftAuthBridge(), conf, startLock,startCondition, startedServing);

JvmPauseMonitor.java

用来监控JVM的暂停情况。通过Daemon线程,默认每隔500ms计算一次。jvm暂停统计级别分为warn和info级别。如果暂停超过1000ms则info级别次数+1,如果超过10000ms,则warn级别+1。

  private class Monitor implements Runnable {@Overridepublic void run() {Stopwatch sw = new Stopwatch();// 获取GC情况,GC次数和GC耗时msMap<String, GcTimes> gcTimesBeforeSleep = getGcTimes();while (shouldRun) {sw.reset().start();try {// 监控线程自我休眠500msThread.sleep(SLEEP_INTERVAL_MS);} catch (InterruptedException ie) {return;}// 上次查询时间-减去休眠就是暂停的耗时long extraSleepTime = sw.elapsed(TimeUnit.MILLISECONDS) - SLEEP_INTERVAL_MS;Map<String, GcTimes> gcTimesAfterSleep = getGcTimes();// warnThresholdMs默认10000msif (extraSleepTime > warnThresholdMs) {++numGcWarnThresholdExceeded;LOG.warn(formatMessage(extraSleepTime, gcTimesAfterSleep, gcTimesBeforeSleep));// 指标jvm.pause.info-threshold进行+1incrementMetricsCounter(MetricsConstant.JVM_PAUSE_WARN, 1);} // infoThresholdMs默认1000ms else if (extraSleepTime > infoThresholdMs) {++numGcInfoThresholdExceeded;LOG.info(formatMessage(extraSleepTime, gcTimesAfterSleep, gcTimesBeforeSleep));// 指标jvm.pause.warn-threshold进行+1incrementMetricsCounter(MetricsConstant.JVM_PAUSE_INFO, 1);}// jvm.pause.extraSleepTime 累计时间? msincrementMetricsCounter(MetricsConstant.JVM_EXTRA_SLEEP, extraSleepTime);totalGcExtraSleepTime += extraSleepTime;gcTimesBeforeSleep = gcTimesAfterSleep;}}private void incrementMetricsCounter(String name, long count) {Metrics metrics = MetricsFactory.getInstance();if (metrics != null) {try {metrics.incrementCounter(name, count);} catch (Exception e) {LOG.warn("Error Reporting JvmPauseMonitor to Metrics system", e);}}}}

HiveMetaStore的内部类HMSHandler

HMSHandler
-String startFunction(String function, String extraLogInfo)
-void endFunction(String function, MetaStoreEndFunctionContext context)

startFunctionendFunction是包裹以下元数据的操作,进行指标的采集控制。由这两个包裹的方法,除了本身的Timer指标(增加前缀api_)外,还会增加counters类型指标,不过在Timer指标名的基础上再增加active_calls_前缀,即active_calls_api_

以下指标还会增加前缀api_

  • 库相关

    1. create_database
    2. get_database
    3. alter_database
    4. drop_database
    5. get_databases
    6. get_all_databases
  • 表相关

    1. create_table
    2. drop_table
    3. get_table
    4. get_tables
    5. get_tables_by_type
    6. get_all_tables
    7. get_table_metas
    8. get_multi_table
    9. get_table_names_by_filter
    10. get_table_statistics_req
    11. alter_table
  • 分区相关

    1. append_partition
    2. append_partition_by_name
    3. drop_partition_by_name
    4. get_partitions_ps
    5. get_partitions_ps_with_auth
    6. get_partitions_names_ps
    7. add_partitions
    8. add_partition
    9. drop_partition
    10. get_partition
    11. alter_partition
    12. get_partition_with_auth
    13. get_partitions_pspec
    14. get_partition_names
    15. get_partition_by_name
    16. get_partitions_by_expr
    17. get_num_partitions_by_filter
    18. get_num_partitions_by_expr
    19. get_partitions_by_names
    20. get_partitions_by_filter
    21. get_partitions_by_filter_pspec
    22. get_partitions_statistics_req
  • 其他

    1. create_type
    2. get_type
    3. drop_type
    4. drop_constraint
    5. add_primary_key
    6. add_foreign_key
    7. get_column_privilege_set
    8. add_index
    9. alter_index
    10. drop_index_by_name
    11. get_index_by_name
    12. get_index_names
    13. get_indexes
    14. get_column_statistics_by_table
    15. get_fields_with_environment_context
    16. get_schema_with_environment_context
    17. get_column_statistics_by_partition
    18. write_column_statistics
    19. write_partition_column_statistics
    20. delete_column_statistics_by_partition
    21. delete_column_statistics_by_table
    22. get_config_value
    23. delete_column_statistics_by_partition
    24. cancel_delegation_token
    25. renew_delegation_token
    26. get_delegation_token
    27. add_token
    28. remove_token
    29. get_token for+XXX
    30. get_all_token_identifiers.
    31. add_master_key.
    32. update_master_key.
    33. remove_master_key.
    34. get_master_keys.
    35. partition_name_has_valid_characters
    36. get_functions
    37. get_all_functions
    38. get_function
    39. get_aggr_stats_for
    40. get_foreign_keys

例如get_database操作

    public Database get_database(final String name) throws NoSuchObjectException, MetaException {startFunction("get_database", ": " + name);Database db = null;Exception ex = null;try {db = get_database_core(name);firePreEvent(new PreReadDatabaseEvent(db, this));} catch (MetaException e) {ex = e;throw e;} catch (NoSuchObjectException e) {ex = e;throw e;} finally {endFunction("get_database", db != null, ex);}return db;}

MetricsFactory的init(conf)方法

/*** Initializes static Metrics instance. 目前默认的实现类是 org.apache.hadoop.hive.common.metrics.metrics2.CodahaleMetrics*/
public synchronized static void init(HiveConf conf) throws Exception {if (metrics == null) {Class metricsClass = conf.getClassByName(conf.getVar(HiveConf.ConfVars.HIVE_METRICS_CLASS));Constructor constructor = metricsClass.getConstructor(HiveConf.class);metrics = (Metrics) constructor.newInstance(conf);}
}

CodahaleMetrics.java

通过有参构造函数,实例化CodahaleMetrics。里面一共涉及4个指标类型。timers,counters,meters,gauges

    public CodahaleMetrics(HiveConf conf) {this.conf = conf;//Codahale artifacts are lazily-created.timers = CacheBuilder.newBuilder().build(new CacheLoader<String, com.codahale.metrics.Timer>() {@Overridepublic com.codahale.metrics.Timer load(String key) {Timer timer = new Timer(new ExponentiallyDecayingReservoir());metricRegistry.register(key, timer);return timer;}});counters = CacheBuilder.newBuilder().build(new CacheLoader<String, Counter>() {@Overridepublic Counter load(String key) {Counter counter = new Counter();metricRegistry.register(key, counter);return counter;}});meters = CacheBuilder.newBuilder().build(new CacheLoader<String, Meter>() {@Overridepublic Meter load(String key) {Meter meter = new Meter();metricRegistry.register(key, meter);return meter;}});gauges = new ConcurrentHashMap<String, Gauge>();//register JVM metrics - java虚拟机的相关指标集registerAll("gc", new GarbageCollectorMetricSet());registerAll("buffers", new BufferPoolMetricSet(ManagementFactory.getPlatformMBeanServer()));registerAll("memory", new MemoryUsageGaugeSet());registerAll("threads", new ThreadStatesGaugeSet());registerAll("classLoading", new ClassLoadingGaugeSet());//Metrics reporter -进行指标的输出Set<MetricsReporting> finalReporterList = new HashSet<MetricsReporting>();// 默认的导出类型是JSON_FILE, JMX。List<String> metricsReporterNames = Lists.newArrayList(Splitter.on(",").trimResults().omitEmptyStrings().split(conf.getVar(HiveConf.ConfVars.HIVE_METRICS_REPORTER)));if (metricsReporterNames != null) {for (String metricsReportingName : metricsReporterNames) {try {MetricsReporting reporter = MetricsReporting.valueOf(metricsReportingName.trim().toUpperCase());finalReporterList.add(reporter);} catch (IllegalArgumentException e) {LOGGER.warn("Metrics reporter skipped due to invalid configured reporter: " + metricsReportingName);}}}initReporting(finalReporterList);}
具体指标对象
  • GarbageCollectorMetricSet:一组用于垃圾收集计数和运行时间的仪表。
  • BufferPoolMetricSet:一组测量JVM的直接和映射缓冲池的计数、使用情况和容量的指标。这些JMX对象仅在Java 7及以上版本上可用。
  • MemoryUsageGaugeSet:一组用于JVM内存使用的指标,包括堆与非堆内存的统计信息,以及特定于gc的内存池。
  • ThreadStatesGaugeSet:一组用于各种状态和死锁检测的线程数量的量规。
  • ClassLoadingGaugeSet:JVM类加载器使用情况的一组指标。
«interface»
MetricSet
Map getMetrics()
GarbageCollectorMetricSet
BufferPoolMetricSet
MemoryUsageGaugeSet
ThreadStatesGaugeSet
ClassLoadingGaugeSet

指标导出

    /*** Should be only called once to initialize the reporters*/private void initReporting(Set<MetricsReporting> reportingSet) {for (MetricsReporting reporting : reportingSet) {switch (reporting) {case CONSOLE:final ConsoleReporter consoleReporter = ConsoleReporter.forRegistry(metricRegistry).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build();consoleReporter.start(1, TimeUnit.SECONDS);reporters.add(consoleReporter);break;case JMX:final JmxReporter jmxReporter = JmxReporter.forRegistry(metricRegistry).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build();jmxReporter.start();reporters.add(jmxReporter);break;case JSON_FILE:final JsonFileReporter jsonFileReporter = new JsonFileReporter();jsonFileReporter.start();reporters.add(jsonFileReporter);break;case HADOOP2:String applicationName = conf.get(HiveConf.ConfVars.HIVE_METRICS_HADOOP2_COMPONENT_NAME.varname);long reportingInterval = HiveConf.toTime(conf.get(HiveConf.ConfVars.HIVE_METRICS_HADOOP2_INTERVAL.varname),TimeUnit.SECONDS, TimeUnit.SECONDS);final HadoopMetrics2Reporter metrics2Reporter = HadoopMetrics2Reporter.forRegistry(metricRegistry).convertRatesTo(TimeUnit.SECONDS).convertDurationsTo(TimeUnit.MILLISECONDS).build(DefaultMetricsSystem.initialize(applicationName), // The application-level nameapplicationName, // Component nameapplicationName, // Component description"General"); // Name for each metric recordmetrics2Reporter.start(reportingInterval, TimeUnit.SECONDS);break;}}}
«interface»
org.apache.hadoop.metrics2.MetricsSource
void getMetrics(MetricsCollector collector, boolean all)
«interface»
Reporter
«abstract»
ScheduledReporter
- final ScheduledExecutorService executor
+void start(long period, TimeUnit unit)
+public void report()
JmxReporter
JsonFileReporter
- java.util.Timer timer
+void start()
HadoopMetrics2Reporter
- SortedMap dropwizardGauges;
- SortedMap dropwizardCounters;
- SortedMap dropwizardHistograms;
- SortedMap dropwizardMeters;
- SortedMap dropwizardTimers;
void snapshotAllMetrics(MetricsRecordBuilder builder)
ConsoleReporter

在hive2版本有4类导出器

  • ConsoleReporter:通过调度线程,按周期将指标输出到日志里面。
  • JmxReporter:一个报告器,用于监听新指标,并将发送其作为名称标注的 MBeans。
  • JsonFileReporter:通过Timer,定时调度,将指标写入目标文件中。
  • HadoopMetrics2Reporter:通过调度线程,按周期将指标更新到度量对象dropwizardGauges,dropwizardCounters,dropwizardHistograms,dropwizardMeters,dropwizardTimers中,再由hadoop2的指标系统去获取转换由 dropwizard 收集的当前指标,并将其添加到Hadoop2的指标系统中。
JsonFileReporter输出的文件内容示例
  • 回收

    • gc.PS-MarkSweep.count:标记次数
    • gc.PS-MarkSweep.time:标记耗时ms
    • gc.PS-Scavenge.count:清除次数
    • gc.PS-Scavenge.time:清除耗时ms
  • 内存

    • memory.heap.committed:JVM 已经提交的 HeapMemory 的大小, byte

    • memory.heap.init:JVM 初始 HeapMem 的大小

    • memory.heap.usage:已使用内存占比

    • memory.heap.max:JVM 配置的 HeapMemory 的大小

    • memory.heap.used:已使用堆内存大小, byte

    • memory.non-heap.committed:JVM 当前已经提交的 NonHeapMemory 的大小, byte

    • memory.non-heap.init:JVM 初始 NonHeapMem 的大小, byte

    • memory.non-heap.max:JVM 配置的 NonHeapMemory 的数大小, byte

    • memory.non-heap.usage:已使用NonHeapMemory 内存占比

    • memory.non-heap.used:JVM 当前已经使用的 NonHeapMemory 的大小, byte

    • memory.pools.Code-Cache.usage:代码缓存区使用占比

    • memory.pools.Compressed-Class-Space.usage:压缩类空间空间使用占比

    • memory.pools.Metaspace.usage:Metaspace 区内存使用占比

    • memory.pools.PS-Eden-Space.usage:Eden区内存使用占比

    • memory.pools.PS-Old-Gen.usage:Old区内存使用占比

    • memory.pools.PS-Survivor-Space.usage:Survivo区内存使用占比

    • memory.total.committed:保证可用于堆或非堆的总内存量

    • memory.total.init:堆或非堆初始化的内存量

    • memory.total.max:堆或非堆配置的最大中内存量

    • memory.total.used:堆或非堆使用的总内存量

  • 线程

    • threads.count:总线程数
    • threads.daemon.count:常驻线程数
    • threads.deadlock.count:死锁线程数
  • counters下active_calls_*系列:正在执行的方法的个数,方法主要在HiveMetaStore的内部类HMSHandler中。

  • timers下api_系列:执行的方法响应(个数,平均、最大、最小、中位数耗时等等),方法主要在HiveMetaStore的内部类HMSHandler中。

{"version" : "3.0.0","gauges" : {"buffers.direct.capacity" : {"value" : 0},"buffers.direct.count" : {"value" : 0},"buffers.direct.used" : {"value" : 0},"buffers.mapped.capacity" : {"value" : 0},"buffers.mapped.count" : {"value" : 0},"buffers.mapped.used" : {"value" : 0},"classLoading.loaded" : {"value" : 6932},"classLoading.unloaded" : {"value" : 0},"gc.PS-MarkSweep.count" : {"value" : 2},"gc.PS-MarkSweep.time" : {"value" : 250},"gc.PS-Scavenge.count" : {"value" : 5},"gc.PS-Scavenge.time" : {"value" : 92},"init_total_count_dbs" : {"value" : 489},"init_total_count_partitions" : {"value" : 51089},"init_total_count_tables" : {"value" : 13733},"memory.heap.committed" : {"value" : 991428608},"memory.heap.init" : {"value" : 1073741824},"memory.heap.max" : {"value" : 991428608},"memory.heap.usage" : {"value" : 0.22776332070498415},"memory.heap.used" : {"value" : 225811072},"memory.non-heap.committed" : {"value" : 62717952},"memory.non-heap.init" : {"value" : 2555904},"memory.non-heap.max" : {"value" : -1},"memory.non-heap.usage" : {"value" : -6.1740872E7},"memory.non-heap.used" : {"value" : 61740872},"memory.pools.Code-Cache.usage" : {"value" : 0.04560165405273438},"memory.pools.Compressed-Class-Space.usage" : {"value" : 0.004726290702819824},"memory.pools.Metaspace.usage" : {"value" : 0.9850643484933036},"memory.pools.PS-Eden-Space.usage" : {"value" : 0.5518231919863521},"memory.pools.PS-Old-Gen.usage" : {"value" : 0.07657499299391471},"memory.pools.PS-Survivor-Space.usage" : {"value" : 0.9316617525540866},"memory.total.committed" : {"value" : 1054146560},"memory.total.init" : {"value" : 1076297728},"memory.total.max" : {"value" : 991428607},"memory.total.used" : {"value" : 287551944},"threads.blocked.count" : {"value" : 0},"threads.count" : {"value" : 27},"threads.daemon.count" : {"value" : 16},"threads.deadlock.count" : {"value" : 0},"threads.deadlocks" : {"value" : [ ]},"threads.new.count" : {"value" : 0},"threads.runnable.count" : {"value" : 4},"threads.terminated.count" : {"value" : 0},"threads.timed_waiting.count" : {"value" : 7},"threads.waiting.count" : {"value" : 16}},"counters" : {"active_calls_api_get_database" : {"count" : 0},"active_calls_api_get_tables" : {"count" : 0},"active_calls_api_init" : {"count" : 0},"active_calls_api_set_ugi" : {"count" : 0},"jvm.pause.extraSleepTime" : {"count" : 6},"open_connections" : {"count" : 1}},"histograms" : { },"meters" : { },"timers" : {"api_get_database" : {"count" : 54,"max" : 99.228759,"mean" : 11.107232182804301,"min" : 10.091598,"p50" : 11.098374,"p75" : 11.503314,"p95" : 12.130782,"p98" : 12.130782,"p99" : 12.130782,"p999" : 12.913863,"stddev" : 0.6771821794059291,"m15_rate" : 0.0,"m1_rate" : 0.0,"m5_rate" : 0.0,"mean_rate" : 0.0,"duration_units" : "milliseconds","rate_units" : "calls/millisecond"},"api_get_tables" : {"count" : 18,"max" : 31.114395,"mean" : 9.939109200622983,"min" : 9.404240999999999,"p50" : 9.841852,"p75" : 10.122354,"p95" : 10.122354,"p98" : 10.122354,"p99" : 10.122354,"p999" : 10.203377999999999,"stddev" : 0.18434488642295546,"m15_rate" : 0.0,"m1_rate" : 0.0,"m5_rate" : 0.0,"mean_rate" : 0.0,"duration_units" : "milliseconds","rate_units" : "calls/millisecond"},"api_init" : {"count" : 1,"max" : 3225.4620339999997,"mean" : 3225.4620339999997,"min" : 3225.4620339999997,"p50" : 3225.4620339999997,"p75" : 3225.4620339999997,"p95" : 3225.4620339999997,"p98" : 3225.4620339999997,"p99" : 3225.4620339999997,"p999" : 3225.4620339999997,"stddev" : 0.0,"m15_rate" : 0.0,"m1_rate" : 0.0,"m5_rate" : 0.0,"mean_rate" : 0.0,"duration_units" : "milliseconds","rate_units" : "calls/millisecond"},"api_set_ugi" : {"count" : 1,"max" : 0.284408,"mean" : 0.284408,"min" : 0.284408,"p50" : 0.284408,"p75" : 0.284408,"p95" : 0.284408,"p98" : 0.284408,"p99" : 0.284408,"p999" : 0.284408,"stddev" : 0.0,"m15_rate" : 0.0,"m1_rate" : 0.0,"m5_rate" : 0.0,"mean_rate" : 0.0,"duration_units" : "milliseconds","rate_units" : "calls/millisecond"}}
}

其他

#这个类定义了Hive进程生成的一些指标。
org.apache.hadoop.hive.common.metrics.common.MetricsConstant#可以用来度量和记录一段代码所花费的时间。
org.apache.hadoop.hive.ql.log.PerfLogger

腾讯云的hive-metastore指标

标题指标名称指标单位指标含义
GC 次数YGCYoung GC 次数
FGCFull GC 次数
GC 时间FGCTsFull GC 消耗时间
GCTs垃圾回收时间消耗
YGCTsYoung GC 消耗时间
内存区域占比S0%Survivor 0区内存使用占比
E%Eden 区内存使用占比
CCS%Compressed class space 区内存使用占比
S1%Survivor 1区内存使用占比
O%Old 区内存使用占比
M%Metaspace 区内存使用占比
JVM 内存MemHeapUsedMMBJVM 当前已经使用的 HeapMemory 的数量
MemHeapCommittedMMBJVM 已经提交的 HeapMemory 的数量
MemHeapMaxMMBJVM 配置的 HeapMemory 的数量
MemHeapInitMMBJVM 初始 HeapMem 的数量
MemNonHeapUsedMMBJVM 当前已经使用的 NonHeapMemory 的数量
MemNonHeapCommittedMMBJVM 当前已经提交的 NonHeapMemory 的数量
MemNonHeapInitMMBJVM 初始 NonHeapMem 的数量
文件描述符数OpenFileDescriptorCount已打开文件描述符数量
MaxFileDescriptorCount最大文件描述符数
CPU 利用率ProcessCpuLoad%进程 CPU 利用率
SystemCpuLoad%系统 CPU 利用率
CPU 使用时间占比CPURateseconds/secondCPU 使用时间占比
工作线程数DaemonThreadCount守护线程数
ThreadCount线程总数
CPU 累计使用时间ProcessCpuTimemsCPU 累计使用时间
进程运行时长Uptimes进程运行时长
GC 额外睡眠时间ExtraSleepTimems/sGC 额外睡眠时间
alter table 请求时间HIVE.HMS.API_ALTER_TABLEmsalter table 请求平均时间
alter table with env context 请求时间HIVE.HMS.API_ALTER_TABLE_WITH_ENV_CONTEXTmsalter table with env context 请求平均时间
create table 请求时间HIVE.HMS.API_CREATE_TABLEmscreate table 请求平均时间
create table with env context 请求时间HIVE.HMS.API_CREATE_TABLE_WITH_ENV_CONTEXTmscreate table with env context 请求平均时间
drop table 请求时间HIVE.HMS.API_DROP_TABLEmsdrop table 平均请求时间
drop table with env context 请求时间HIVE.HMS.API_DROP_TABLE_WITH_ENV_CONTEXTmsdrop table with env context 平均请求时间
get table 请求时间HIVE.HMS.API_GET_TABLEmsget table 平均请求时间
get tables 请求时间HIVE.HMS.API_GET_TABLESmsget tables 平均请求时间
get multi table 请求时间HIVE.HMS.API_GET_MULTI_TABLEmsget multi table 平均请求时间
get table req 请求时间HIVE.HMS.API_GET_TABLE_REQmsget table req 平均请求时间
get database 请求时间HIVE.HMS.API_GET_DATABASEmsget database 平均请求时间
get databases 请求时间HIVE.HMS.API_GET_DATABASESmsget databases 平均请求时间
get all database 请求时间HIVE.HMS.API_GET_ALL_DATABASESmsget all databases 平均请求时间
get all functions 请求时间HIVE.HMS.API_GET_ALL_FUNCTIONSmsget all functions 平均请求时间
当前活跃 create table 请求数HIVE.HMS.ACTIVE_CALLS_API_CREATE_TABLE当前活跃 create table 请求数
当前活跃 drop table 请求数HIVE.HMS.ACTIVE_CALLS_API_DROP_TABLE当前活跃 drop table 请求数
当前活跃 alter table 请求数HIVE.HMS.ACTIVE_CALLS_API_ALTER_TABLE当前活跃 alter table 请求数

参考资料

相关CWiki

  1. Hive+Metrics:指标的总览页。提供部分指标的issues链接。

  2. WebUIforHiveServer2:介绍WebUI可以查询展示指标。

  3. ConfigurationProperties-Metrics :介绍指标的部分配置。

http://www.yayakq.cn/news/974550/

相关文章:

  • 如何做好企业网站微网站开发 付费阅读
  • 网页设计与网站组建珠海网站建
  • 阿里云网站建设流程中国十大网络安全龙头
  • 外贸公司网站网站颜色正确搭配实例
  • 做科研找论文的网站网站怎么做域名实名认证吗
  • 公司做年审在哪个网站建网站手机怎么做
  • 专业集团门户网站建设做招聘和求职都需要哪些网站
  • 网站用橙色wordpress 同步qq空间
  • 湖南省建设厅厅长宜昌做网站优化
  • 建的企业网站如何在百度搜到门户网站广告的特点有
  • 付费下载网站源码wordpress 如何修改主题中元素
  • 城阳网站开发东莞seo建站优化方法
  • 网站是意识形态建设做资源下载网站用什么工具
  • 海口手机端建站模板wordpress 自定义后台
  • 大学网站建设情况汇报免费网页模板素材
  • joomla 做外贸网站 好的无法打开网站若要访问本地iis网站必须安装下列iis组件
  • 网站收录查询方法福州移动网站建设
  • 荆州松滋网站建设紧急通知网页升级记住我们
  • 公司企业网站建设方案书visual studio怎么做网页
  • 增城网站建设公司北京做网站公司排
  • WordPress常用模板函数云南网络优化公司有哪些
  • 厦门商务网站建设唐山万唯网络科技有限公司
  • 京东网站建设吗有什么关于网站建设实例的书
  • 1 网站建设的目标是什么WordPress碎语
  • 做免费的小说网站可以赚钱吗建筑工人招聘平台
  • 品牌型网站的设计html5餐饮美食订餐微官网wap手机网站模板整站下载
  • 商家入驻网站开发外贸自主建站平台
  • 网站建设开票分类编码南京做企业网站公司
  • php主做哪种类型网站会议网站
  • 做外贸的免费网站有哪些网络培训的功能主要有