[hive] 테이블 DROP 시 발생하는 Caused by: MetaException(message:Timeout when executing method: drop_table_with_environment_context; 69853ms exceeds 60000ms) 오류

2019. 7. 29. 18:45·빅데이터/hive

하이브에서 테이블을 DROP 할 때 다음의 오류가 발생하는 경우가 있습니다.

증상

2019-07-29 06:08:02,737 ERROR [c09ac50a-3167-4c79-8909-a678d59ab9a0 uber-SubtaskRunner] hive.ql.exec.DDLTask: org.apache.hadoop.hive.ql.metadata.HiveException: MetaException(message:Timeout when executing method: drop_table_with_environment_context; 69853ms exceeds 60000ms)
at org.apache.hadoop.hive.ql.metadata.Hive.dropTable(Hive.java:1180)
at org.apache.hadoop.hive.ql.metadata.Hive.dropTable(Hive.java:1111)
at org.apache.hadoop.hive.ql.exec.DDLTask.dropTable(DDLTask.java:3819)
at org.apache.hadoop.hive.ql.exec.DDLTask.dropTableOrPartitions(DDLTask.java:3699)
at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:358)
at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:197)
at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100)

 

원인

원인은 하이브 메타스토어가 응답이 없어서 발생합니다. 메타스토어가 종료 되어서 발생하는 경우도 있고, 다른 경우는 테이블에 파티션이 많아서 모든 정보를 가져오는 시간이 오래 걸리는 경우 또는 메타스토어가 여러 클라이언트에서 요청을 받아서 다른 처리를 하느라 제대로 응답을 하지 못할 때 발생합니다.

 

해결방법

1. 클라이언트의 타임아웃 시간을 늘림

먼저 메타스토어가 작업을 처리후 응답하는 것을 기다리는 시간을 늘려주는 방법이 있습니다.

set hive.metastore.client.socket.timeout=120000;

 

2. 파티션을 먼저 삭제후 테이블을 DROP

ALTER TABLE employee DROP PARTITION (yymmdd='20180510');

 

3. DROP 작업의 간격을 늘림

작업이 동시에 처리하여 발생한 경우라면 메타스토어가 작업을 처리하는 간격을 늘려줍니다. 파티션이 200~2000개 사이인 테이블을 DROP하는 작업을 동시에 20개 정도 날리면 다음과 같은 GC가 발생합니다. 1분동안 129번의 마이너 GC, 4번의 메이저 GC가 발생하여 메타스토어가 응답을 하지 못하게 됩니다.

 

다음은 jstat 명령으로 GC를 확인한 결과 입니다. 1초에 한번씩 확인한 결과인데 마이너 GC(YGC) 카운트와 메이저 GC(FGC) 카운트가 급격하게 증가하는 것을 확인할 수 있습니다. 

 

 

이런경우는 작업간 간격을 늘려주면 문제를 해결할 수 있습니다.

 

 

반응형
저작자표시 비영리 동일조건 (새창열림)

'빅데이터 > hive' 카테고리의 다른 글

[hive] Error in getting fields from serde.Invalid Field null 오류 수정 방법  (0) 2019.12.04
[hive] 하이브 schemaTool을 이용하여 스키마 생성  (0) 2019.10.30
[hive] TEZ 작업중 GC overhead limit exceeded 오류 처리  (0) 2019.07.05
[hive] common.JvmPauseMonitor (JvmPauseMonitor.java:run(194)) - Detected pause in JVM or host machine (eg GC): pause of approximately 1727ms 메시지  (0) 2019.07.01
[hive] 하이브 테이블 조회시 파티션 개수 제약하기  (0) 2019.05.22
'빅데이터/hive' 카테고리의 다른 글
  • [hive] Error in getting fields from serde.Invalid Field null 오류 수정 방법
  • [hive] 하이브 schemaTool을 이용하여 스키마 생성
  • [hive] TEZ 작업중 GC overhead limit exceeded 오류 처리
  • [hive] common.JvmPauseMonitor (JvmPauseMonitor.java:run(194)) - Detected pause in JVM or host machine (eg GC): pause of approximately 1727ms 메시지
hs_seo
hs_seo
Hello World!
    반응형
  • hs_seo
    개발자로 살아남기
    hs_seo
  • 전체
    오늘
    어제
    • 전체 (1140)
      • 개발자 (21)
        • 개발에 유의할 점 (0)
        • 면접 (5)
      • IT 소식 (5)
        • 업계 (1)
      • java (51)
        • 디자인패턴 (3)
        • apache-common (1)
      • 개념 (47)
        • 자료구조 (4)
        • 함수형사고 (8)
        • 디자인패턴 (1)
      • 데이터분석 (1)
      • python (67)
        • 코드조각 (12)
        • 라이브러리 (2)
      • 빅데이터 (418)
        • zookeeper (5)
        • hadoop (78)
        • hdfs (12)
        • hive (127)
        • hbase (16)
        • spark (40)
        • scala (4)
        • trino (3)
        • oozie (41)
        • Hue (9)
        • R (5)
        • sqoop (6)
        • flume (3)
        • elasticsearch (2)
        • airflow (16)
        • kafka (3)
        • kubernetes (10)
        • openstack (3)
        • flink (2)
        • redis (2)
      • 빅데이터 강좌 (2)
      • 알고리즘 (131)
        • 알고리즘 (1)
        • 백준 (61)
        • 정올 (41)
        • 더블릿 (5)
        • 프로그래머스 (1)
      • 프로그래밍 언어 (30)
        • go (4)
        • js (9)
        • .Net (6)
        • Jsp (1)
        • ansible (3)
        • terraform (6)
      • Tools (56)
        • docker (2)
        • macbook (6)
        • maven (3)
        • sublime (1)
      • 프레임워크 (25)
        • [JS] angularjs (2)
        • [JS] node.js (19)
        • [Java] spring (2)
        • Android (2)
      • 데이타베이스 (43)
        • SQLD (5)
        • Oracle (1)
        • MySQL (8)
        • ADsP (2)
      • 리눅스 (25)
        • Bash (61)
      • GCP (5)
      • AWS (34)
        • EC2 (2)
        • EMR (14)
      • 정보보안기사 (4)
        • 네트워크 (1)
      • 개인 (80)
        • 업무실수 (0)
        • 책 (9)
        • 교육 (3)
        • 여행 (17)
        • 영화 (12)
        • 음악 (2)
        • 피규어 (4)
        • 게임 (3)
        • 생각 (7)
        • 기타 (10)
        • 좋은글 (5)
        • 좋은 사이트 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

    • 빅데이터-하둡,하이브로 시작하기
    • 빅데이터-스칼라, 스파크로 시작하기
    • Kaggle에서 파이썬으로 데이터 분석 시작하기
    • 쉘스크립트 개발 시작하기
    • 개발자가 데이터 분석 준전문가 되기
    • 데브쿠마
  • 공지사항

  • 인기 글

  • 태그

    백준
    알고리즘
    Hadoop
    airflow
    build
    다이나믹
    k8s
    S3
    yarn
    nodejs
    mysql
    HIVE
    ubuntu
    emr
    하둡
    파이썬
    하이브
    error
    Tez
    HDFS
    AWS
    Linux
    SPARK
    Python
    bash
    오류
    정올
    java
    oozie
    hbase
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
hs_seo
[hive] 테이블 DROP 시 발생하는 Caused by: MetaException(message:Timeout when executing method: drop_table_with_environment_context; 69853ms exceeds 60000ms) 오류
상단으로

티스토리툴바