Устранение неполадок в Apache Hive с помощью Azure HDInsight
Ознакомьтесь с основными проблемами и их разрешением при работе с полезными данными Apache Hive в Apache Ambari.
Как экспортировать хранилище метаданных Hive и импортировать его в другой кластер?
Способы устранения
Подключитесь к кластеру HDInsight с помощью клиента Secure Shell (SSH). Подробные сведения см. в разделе Дополнительные материалы.
Выполните следующую команду в кластере HDInsight, из которого вы хотите экспортировать хранилище метаданных:
for d in `hive -e "show databases"`; do echo "create database $d; use $d;" >> alltables.sql ; for t in `hive --database $d -e "show tables"` ; do ddl=`hive --database $d -e "show create table $t"`; echo "$ddl ;" >> alltables.sql ; echo "$ddl" | grep -q "PARTITIONED\s*BY" && echo "MSCK REPAIR TABLE $t ;" >> alltables.sql ; done; done
Эта команда создает файл с именем allatables.sql.
Скопируйте файл alltables.sql в новый кластер HDInsight, а затем выполните следующую команду:
hive -f alltables.sql
Код в разделе "Способы устранения" предполагает, что пути к данным в новом кластере являются такими же, как и в старом кластере. Если пути к данным отличаются, вы можете вручную изменить созданный файл alltables.sql
для отображения любых изменений.
Дополнительные материалы
Как найти журналы Hive в кластере?
Способы устранения
Подключитесь к кластеру HDInsight с помощью протокола SSH. Подробные сведения см. в разделе Дополнительные материалы.
Чтобы просмотреть журналы клиента Hive, используйте следующую команду:
/tmp/<username>/hive.log
Чтобы просмотреть журналы хранилища метаданных Hive, используйте следующую команду:
/var/log/hive/hivemetastore.log
Чтобы просмотреть журналы сервера Hive, используйте следующую команду:
/var/log/hive/hiveserver2.log
Дополнительные материалы
Как запустить оболочку Hive с определенными конфигурациями в кластере?
Способы устранения
Укажите пару "ключ-значение" конфигурации при запуске оболочки Hive. Подробные сведения см. в разделе Дополнительные материалы.
hive -hiveconf a=b
Чтобы получить список всех действующих конфигураций оболочки Hive, используйте следующую команду:
hive> set;
Например, используйте следующую команду для запуска оболочки Hive, включив ведение журнала отладки в консоли:
hive -hiveconf hive.root.logger=ALL,console
Дополнительные материалы
Как анализировать данные направленного ациклического графа Apache Tez по критическому пути кластера?
Способы устранения
Чтобы проанализировать направленный ациклический граф (DAG) Apache Tez по критическому графу кластера, подключитесь к кластеру HDInsight с помощью SSH. Подробные сведения см. в разделе Дополнительные материалы.
В командной строке выполните следующую команду:
hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip>
Чтобы получить список других анализаторов, которые можно использовать для анализа данных направленного ациклического графа Tez, воспользуйтесь следующей командой:
hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar
Необходимо задать пример программы в качестве первого аргумента.
Допустимые имена программы:
- ContainerReuseAnalyzer — печать сведений о повторном использовании контейнера в DAG;
- CriticalPath — поиск критического пути DAG;
- LocalityAnalyzer — печать сведений о местоположении в DAG;
- ShuffleTimeAnalyzer — анализ сведений о смещении времени в DAG;
- SkewAnalyzer — анализ сведений о неравномерном распределении данных в DAG;
- SlowNodeAnalyzer — печать сведений об узле в DAG;
- SlowTaskIdentifier — печать сведений о медленных задачах в DAG;
- SlowestVertexAnalyzer — печать сведений о медленных вершинах в DAG;
- SpillAnalyzer — печать сведений о перемещении в DAG;
- TaskConcurrencyAnalyzer — печать сведений о параллельных задачах в DAG;
- VertexLevelCriticalPathAnalyzer — поиск критического пути на уровне вершины в DAG.
Дополнительные материалы
Как скачать данные направленного ациклического графа Tez из кластера?
Способы устранения
Сбор данных направленного ациклического графа Tez можно выполнить двумя способами:
Из командной строки.
Подключитесь к кластеру HDInsight с помощью протокола SSH. В командной строке введите следующую команду:
hadoop jar /usr/hdp/current/tez-client/tez-history-parser-*.jar org.apache.tez.history.ATSImportTool -downloadDir . -dagId <DagId>
Использовать представление Ambari Tez.
- Перейдите в Ambari.
- Выберите представление Tez (под значком плитки в правом верхнем углу).
- Выберите направленный ациклический граф, который необходимо просмотреть.
- Выберите Скачать данные.
Дополнительные материалы
Подключение к HDInsight (Hadoop) с помощью SSH
Следующие шаги
Если вы не видите своего варианта проблемы или вам не удается ее устранить, дополнительные сведения можно получить, посетив один из следующих каналов.
Получите ответы специалистов Azure на сайте поддержки сообщества пользователей Azure.
Подпишитесь на @AzureSupport — официальный канал Microsoft Azure для улучшения качества взаимодействия с клиентами. Вступайте в сообщество Azure для получения нужных ресурсов: ответов, поддержки и советов экспертов.
Если вам нужна дополнительная помощь, отправьте запрос в службу поддержки на портале Azure. Выберите Поддержка в строке меню или откройте центр Справка и поддержка. Дополнительные сведения см. в статье Создание запроса на поддержку Azure. Доступ к управлению подписками и поддержкой выставления счетов уже включен в вашу подписку Microsoft Azure, а техническая поддержка предоставляется в рамках одного из планов Службы поддержки Azure.