2017-02-08 34 views
0

Эта ссылка Profling Hive CLI содержит инструкцию по профилированию CLI Hive с использованием управления миссией Java. И шагиПрофилирование Apache 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 startup (так, чтобы использовать -e 'exit;'), а также выход TRACE: debug hive --hiveconf hive.root.logger=TRACE,console -e 'exit;' 2&>&1 | tee $HOME/profiles/hive_trace.out

  4. Archive и собрать каталог, используемый на шаге 1 tar czvf profile_data.tgz $HOME/profiles

Мои вопросы

а) После выполнения шага 4, как можно использовать управление Java миссии потреблять Собранный метрик

б) Когда я запускаю куст, используя настройки конфигурации в 2 и 3. Почему Hive не отображается в консоли управления консолью java?

c) Есть ли лучший способ профилировать компонент Hive как hive-exec, hive-metastore?

ответ

0

a) Теперь у вас должно быть число для файлов * .jfr в $ HOME/profiles, их можно открыть и проанализировать в JMC. Heres ссылка на официальные документы о том, как это сделать: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr005.html (есть много больше информации и видео об этом, если вы ищете в Интернете)

b) Как вы начинаете Hive, это с тем же пользователем, с которым вы запускаете JMC с? Можете ли вы увидеть другие JVM в системе? Если вы запустите jps или jcmd, вы можете увидеть, как там был процесс Hive?