分析 Apache Hive CLI

Profiling Apache Hive CLI

此 link Profling Hive CLI 提供了有关如何使用 Java 任务控制分析 Hive CLI 的说明。而步骤是

  1. 创建一个目录来保存探查器输出:mkdir $HOME/profiles

  2. 创建别名以便更容易重复: alias debug='HADOOP_CLIENT_OPTS="-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=$HOME/profiles/"'

  3. 运行 一些 hadoop 客户端命令来分析 例如,要分析 Hive CLI 启动(以便使用 -e 'exit;')以及 TRACE 输出: debug hive --hiveconf hive.root.logger=TRACE,console -e 'exit;' 2&>&1 | tee $HOME/profiles/hive_trace.out

  4. 归档并收集步骤1中使用的目录 tar czvf profile_data.tgz $HOME/profiles

我的问题是

a) 在步骤 4 之后,如何使用 java 任务控制来使用收集的指标

b) 当我使用 2 和 3 中的配置设置启动 hive 时。为什么 Hive 在 java 任务控制台中不可见?

c) 是否有更好的方法来分析 Hive 的组件,如 hive-exec、hive-metastore?

a) 您现在应该在 $HOME/profiles 中有一个 *.jfr 文件的编号,这些文件可以在 JMC 中打开和分析。这是关于如何执行此操作的官方文档的link:https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr005.html(如果您在线搜索,有更多关于此的信息和视频)

b) 您如何启动 Hive,它与您 运行 JMC 的用户相同吗?你能看到系统上的其他 JVM 吗?如果你 运行 jps 或 jcmd,你能看到那里列出的 Hive 进程吗?