0

此链接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?

4

1 回答 1

0

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

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

于 2017-02-13T08:42:36.763 回答