khstar

hive 테이블 Locked 문제 본문

빅데이터

hive 테이블 Locked 문제

khstar 2019. 6. 19. 15:09
반응형

flume에서 hive로 JSON 스트림 데이터를 추가하는 작업을 테스트 중입니다.

 

과정에서 테이블이 잘못 만들어져서 다시 만들기 위해 기존 테이블을 Drop 했는데 에러가 발생합니다.

이런 죈장. ㅜㅜ 에러 로그는 캡쳐를 못했네요.. 또 죈장 ㅜㅜ 

 

암튼 Drop 하는데 에러가 발생한다면 

hive에서 hive>show locks extended; 를 하면 Lock된 정보가 표시됩니다.

Lock 되어 있는 지도 모르고 계속 요청 했더니 리스트가 많네요. ㅜㅜ 

 

검색을 해보면 unlock을 하면 된다고 하는데 

hive> unlock database medical;

을 하니까 추가로 아래와 같은 메시지가 나옵니다. ㅜㅜ

 

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Current transaction manager does not support explicit lock requests.  Transaction manager:   org.apache.hadoop.hive.ql.lockmgr.DbTxnManager

ㅜㅜ 

stackoverflow에 나온 내용은 아래와 같습니다. 뭐 이래 저래 해봤는데 도저히 해결이 안되네요.

https://stackoverflow.com/questions/33369383/hive-acquire-explicit-exclusive-lock

 

추가로 여기저기 찾아보니 metastore를 db로 사용하는 경우 HIVE_LOCKS라는 테이블이 있다고 합니다.

저는 metastore로 mysql을 사용중입니다. 확인을 해보니 위의 Lock 정보가 이 HIVE_LOCKS 테이블에 데이터로 들어가 있네요.

 

이걸 지우면 사이드이펙트가 발생하는 건 아닐까? 싶어서 여기저기 들쑤시다가 

우선 데이터를 백업해두고 HIVE_LOCKS 테이블의 데이터를 삭제했습니다.

 

그리고 HIVE를 다시 들어가서 locks 를 확인하니 데이터가 안나오네요.. 지웠으니 당연하겠죠.

그럼 원래 목적이었던 sensor 테이블을 삭제해보겠습니다.

삭제되었네요.. ㅜㅜ 감격 임의로 데이터를 지웠으니 이제는 사이트이펙트가 발생하지 않기를 바랍니다.

반응형
Comments