impala 퍼포먼스 개선을 위한 research

24
Impala 퍼포먼스 개선 Simplex Internet / Research Institute / Jeong, Ki-Chul 2013. 4. 10

Upload: kichul-jung

Post on 14-Jul-2015

695 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Impala 퍼포먼스 개선을 위한 Research

Impala 퍼포먼스 개선

Simplex Internet / Research Institute / Jeong, Ki-Chul

2013. 4. 10

Page 2: Impala 퍼포먼스 개선을 위한 Research

권장되는 하드웨어 사양

Page 3: Impala 퍼포먼스 개선을 위한 Research

CPU

• Intel - Nehalem (2008년 발매) 이후 모델

• AMD - Bulldozer (2011년 발매) 이후 모델

• 오래된 CPU에서도 동작하지만...

• SSE4.2 Instruction set 사용

Page 4: Impala 퍼포먼스 개선을 위한 Research

Memory

• 32기가 이상

Page 5: Impala 퍼포먼스 개선을 위한 Research

Storage

• 10개 이상의 디스크

• I/O 속도가 중요한 경우도 있음

• 데이터 보관을 위한 충분한 디스크 공간

Page 6: Impala 퍼포먼스 개선을 위한 Research

IMPALA 설정하기

Page 7: Impala 퍼포먼스 개선을 위한 Research

Short-Circuit Reads

• 파일시스템으로부터 로컬데이터를 직접 읽

을 수 있게 허용

• 복사본의 수를 최소화

Page 8: Impala 퍼포먼스 개선을 위한 Research

Block Location Tracking

• 어떤 디스크 데이터 블록들이 어디에 위

치 되었는지 알 수 있도록

• 디스크들을 더 잘 활용할 수 있도록

Page 9: Impala 퍼포먼스 개선을 위한 Research

Native Checksumming

• 최적화 된 native check-summing library를

사용

Page 10: Impala 퍼포먼스 개선을 위한 Research

Cloudera Manager를 통해 설치하면 기본으로 설정됨

Short-Circuit Reads

Block Location Tracking

Native Checksumming

Page 11: Impala 퍼포먼스 개선을 위한 Research

IMPALA 퍼포먼스 테스트

Page 12: Impala 퍼포먼스 개선을 위한 Research

Impala 설정 값 체크

웹 UI를 이용해서 체크

http://<hostname>:<port>/varz

기본 포트 : 25000

block locality tracking 정보

를 사용하는 것

Page 13: Impala 퍼포먼스 개선을 위한 Research

Data locality 체크

쿼리 실행 로그 확인

SimpleScheduler locality가

100%보다 작다면 impalad가

동작되지 않는 노드가 있는 것

Page 14: Impala 퍼포먼스 개선을 위한 Research

IMPALA 로그

Page 15: Impala 퍼포먼스 개선을 위한 Research

Log Message Interpretation

Unknown disk id. This will negatively affect performance.

Check your hdfs settings to enable block location metadataTracking block locality가 활성화 되지 않은 상태이다.

Unable to load native-hadoop library for your platform...

using builtin-java classes where applicableNative check-summing이 활성화 되

쿼리를 실행했을 때 앞에서 설명한 설정이 되어있지 않을 경우 나타

나는 로그 메세지

Page 16: Impala 퍼포먼스 개선을 위한 Research

퍼포먼스 관련 FAQ

Page 17: Impala 퍼포먼스 개선을 위한 Research

Impala는 캐싱을 사용하는지?

• 데이터 캐싱을 하지 않지만 메타데이터는

캐싱함

• 두번째 실행된 쿼리가 빠르지만 이는 OS

버퍼 캐시에 데이터셋이 캐시되었기 때문

Page 18: Impala 퍼포먼스 개선을 위한 Research

Impala의 aggregation 전략

• 오직 in-memory hash aggregation

Page 19: Impala 퍼포먼스 개선을 위한 Research

호스트를 늘리면 퍼포먼스에 도움이

되는지?

• 된다.

• 호스트의 숫자를 통해 규모를 늘림(?)

Page 20: Impala 퍼포먼스 개선을 위한 Research

퍼포먼스 향상 방법은? (개발당시)

• 맵리듀스의 비효율적인 요소 사용을 자제

• 최신 하드웨어 기술의 이점을 활용한 효율

적인 실행엔진 사용

Page 21: Impala 퍼포먼스 개선을 위한 Research

결론

• Cloudera Manager를 통해 설치하면 설정

을 통한 튜닝포인트가 없다.

오히려 설정 변경 시 데몬 시작이 불가함

• 퍼포먼스 개선은 파티션 또는 테이블 구조

를 최적화(Index는 지원 안 함)

Page 22: Impala 퍼포먼스 개선을 위한 Research

돈은 거짓말을 하지 않는다!!!

성능은 하드웨어 사양과 호스트 개수에 비례

Page 24: Impala 퍼포먼스 개선을 위한 Research

Thanks!!!