다음을 통해 공유


Azure HDInsight를 사용하여 Apache Hive 문제 해결

Apache Ambari에서 Apache Hive 페이로드를 사용할 때의 주요 질문 사항 및 해결 방법을 알아봅니다.

Hive 메타스토어를 내보내고 다른 클러스터로 가져오려면 어떻게 하나요?

해결 단계

  1. SSH(Secure Shell) 클라이언트를 사용하여 HDInsight 클러스터에 연결합니다. 자세한 내용은 더 보기를 참조하세요.

  2. metastore를 내보내려는 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이라는 파일을 생성합니다.

  3. alltables.sql 파일을 새 HDInsight 클러스터에 복사하고 다음 명령을 실행합니다.

    hive -f alltables.sql
    

해결 단계의 코드는 새 클러스터의 데이터 경로가 이전 클러스터의 데이터 경로와 동일하다고 가정합니다. 데이터 경로가 다른 경우 생성된 alltables.sql 파일을 수동으로 편집하여 변경 내용을 반영할 수 있습니다.

추가 자료

클러스터에서 Hive 로그를 찾으려면 어떻게 하나요?

해결 단계

  1. SSH를 사용하여 HDInsight 클러스터에 연결합니다. 자세한 내용은 더 보기를 참조하세요.

  2. Hive 클라이언트 로그를 보려면 다음 명령을 사용합니다.

    /tmp/<username>/hive.log
    
  3. Hive 메타스토어 로그를 보려면 다음 명령을 사용합니다.

    /var/log/hive/hivemetastore.log
    
  4. Hive 서버 로그를 보려면 다음 명령을 사용합니다.

    /var/log/hive/hiveserver2.log
    

추가 자료

클러스터에서 특정 구성으로 Hive 셸을 시작하려면 어떻게 하나요?

해결 단계

  1. Hive 셸을 시작할 때 구성 키-값 쌍을 지정합니다. 자세한 내용은 더 보기를 참조하세요.

    hive -hiveconf a=b
    
  2. Hive 셸에서 모든 유효 구성을 나열하려면 다음 명령을 사용합니다.

    hive> set;
    

    예를 들어 다음 명령을 사용하여 콘솔에서 디버그 로깅이 사용하도록 설정된 상태로 Hive 셸을 시작합니다.

    hive -hiveconf hive.root.logger=ALL,console
    

추가 자료

클러스터 중요 경로에서 Apache Tez DAG 데이터를 분석하려면 어떻게 하나요?

해결 단계

  1. 클러스터에 중요한 그래프에서 Apache Tez DAG(방향성 비순환 그래프)를 분석하려면 SSH를 사용하여 HDInsight 클러스터에 연결합니다. 자세한 내용은 더 보기를 참조하세요.

  2. 명령 프롬프트에서 다음 명령을 실행합니다.

    hadoop jar /usr/hdp/current/tez-client/tez-job-analyzer-*.jar CriticalPath --saveResults --dagId <DagId> --eventFileName <DagData.zip> 
    
  3. Tez DAG를 분석하는 데 사용할 수 있는 다른 분석기를 나열하려면 다음 명령을 사용합니다.

    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에 가장 느린 꼭지점 정보를 출력합니다.
    • SlowNodeAnalyzer: DAG에 분산 정보를 출력합니다.
    • TaskConcurrencyAnalyzer: DAG에 작업 동시성 정보를 출력합니다.
    • VertexLevelCriticalPathAnalyzer: DAG에서 꼭짓점 수준의 중요 경로를 찾습니다.

추가 자료

클러스터에서 Tez DAG 데이터를 다운로드하러면 어떻게 하나요?

해결 단계

Tez DAG 데이터를 수집하는 방법에는 다음 두 가지가 있습니다.

  • 명령줄에서:

    SSH를 사용하여 HDInsight 클러스터에 연결합니다. 명령 프롬프트에서 다음 명령을 실행합니다.

    hadoop jar /usr/hdp/current/tez-client/tez-history-parser-*.jar org.apache.tez.history.ATSImportTool -downloadDir . -dagId <DagId>
    
  • Ambari Tez 보기 사용:

    1. Ambari로 이동합니다.
    2. 오른쪽 위 구석의 타일 아이콘 아래에 있는 Tez 보기로 이동합니다.
    3. 보려는 DAG를 선택합니다.
    4. 데이터 다운로드를 선택합니다.

추가 자료

SSH를 사용하여 HDInsight 클러스터 연결

다음 단계

문제가 표시되지 않거나 문제를 해결할 수 없는 경우 다음 채널 중 하나를 방문하여 추가 지원을 받으세요.

  • Azure 커뮤니티 지원을 통해 Azure 전문가로부터 답변을 얻습니다.

  • 사용자 환경을 개선하기 위한 공식 Microsoft Azure 계정인 @AzureSupport와 연결합니다. Azure 커뮤니티를 적절한 리소스(답변, 지원 및 전문가)에 연결합니다.

  • 도움이 더 필요한 경우 Azure Portal에서 지원 요청을 제출할 수 있습니다. 메뉴 모음에서 지원을 선택하거나 도움말 + 지원 허브를 엽니다. 자세한 내용은 Azure 지원 요청을 만드는 방법을 참조하세요. 구독 관리 및 청구 지원에 대한 액세스 권한은 Microsoft Azure 구독에 포함되어 있으며, Azure 지원 플랜 중 하나를 통해 기술 지원이 제공됩니다.