Apache Impala 는 Hadoop 위에서 동작하는 MPP SQL 엔진이다. C++ 로 구현되어 JVM 없이 데이터 노드에서 직접 HDFS · Kudu · HBase · S3 · Ozone 을 읽고, Hive Metastore 의 메타데이터를 그대로 쓴다. 대화형 · BI 질의처럼 지연이 짧아야 하는 곳에 쓰고, 긴 배치 ETL 은 Hive 나 Spark 에 맡긴다.
Cloudera 가 2012년 공개했고 2017년 Apache 최상위 프로젝트가 됐다. Apache License 2.0 이다.
| 계열 | 상태 |
|---|---|
| 4.5 | 현행. 최신 4.5.2[1] (2026-09-14). 보안 수정 릴리스 |
| 4.1 | 유지보수. 최신 4.1.2 |
| 3.4 | 유지보수. 최신 3.4.2 |
Cloudera 배포판(CDP 7.x) 은 자체 빌드 번호를 쓴다. Cloudera 환경의 설정은 Cloudera 아래에 있다.
| 데몬 | 역할 |
|---|---|
impalad |
각 데이터 노드에 하나. 질의 접수(coordinator) · 실행(executor). 역할을 나눌 수 있다 |
statestored |
impalad 의 생존 상태를 모아 전파한다. 하나 |
catalogd |
Hive Metastore 의 메타데이터 변경을 impalad 에 전파한다. 하나 |
클라이언트는 impala-shell · JDBC/ODBC(21050 포트) · Hue 로 붙는다.
바이너리 배포는 Cloudera 패키지 외에는 GitHub Releases 의 DEB/RPM 정도라, 직접 쓰려면 소스를 빌드한다[2]. 빌드 스크립트가 지원하는 OS 는 RHEL 8 · 9 · 10 계열과 Ubuntu 20.04 · 22.04 · 24.04 다. 메모리 16GB · 디스크 120GB(테스트 데이터 포함) 이상이 필요하다.
curl -LO https://dlcdn.apache.org/impala/4.5.2/apache-impala-4.5.2.tar.gz
tar xzf apache-impala-4.5.2.tar.gz
cd apache-impala-4.5.2
export IMPALA_HOME=$(pwd)
# Cloudera 빌드가 아닌 Apache Hadoop · Hive · HBase 로 빌드할 때
export USE_APACHE_COMPONENTS=true
# 빌드 도구 · 의존 패키지 설치 (root 권한 필요, 시스템 설정을 바꾼다)
./bin/bootstrap_system.sh
source ./bin/impala-config.sh
# 빌드 후 미니클러스터를 포맷하고 Impala 를 띄운다
./buildall.sh -noclean -notests -format -start_minicluster -start_impala_cluster
bootstrap_system.sh 는 개발 환경용이라 로컬 환경 변수와 시스템 설정을 덮어쓴다. 운영 서버가 아닌 빌드 전용 머신에서 돌린다. 테스트를 빼고 빌드만 하려면 ./buildall.sh -skiptests -noclean -release 다.
~/.impalarc 로 접속 정보와 기본 쿼리 옵션을 고정한다./metrics_prometheus 를 exporter 없이 그대로 스크레이프한다.CREATE USER 는 없다.user 를 비웠을 때 잡히는 이름과, 유휴 세션이 끊기지 않게 유지하는 방법.date_format() 처럼 Hive 에만 있는 함수를 Impala 문법으로 바꿔 쓴다.TIMESTAMP 에는 타임존이 없다. 세션 · 서버 설정과 변환 함수.INFORMATION_SCHEMA 가 없으므로 DDL 을 뽑아 텍스트로 대조한다.DESCRIBE FORMATTED 로 소유자를 보고 ALTER TABLE ... SET OWNER 로 바꾼다.DROP TABLE 이 듣지 않는 경우.Memory limit exceeded 를 읽는 법과 MEM_LIMIT · 리소스 풀 조정.QUERY_TIMEOUT_S 는 유휴 시간, EXEC_TIME_LIMIT_S 는 실행 시간이다.Column does not have the decimal precision set 의 원인과 조치.DiskErrorException 을 푼다.LOCATION 절로 저장 경로를 지정한다. 생략하면 Hive 웨어하우스 기본 경로 아래 <db>.db 가 된다.impalad.<host>.impala.log.ERROR.* 에 다음이 남는다.최신 버전 4.5.2 — 2026-09-20 확인. https://impala.apache.org/downloads.html · https://github.com/apache/impala/releases/tag/4.5.2 ↩︎
지원 OS 는 bin/bootstrap_system.sh 의 판별 로직 기준 — 2026-09-20 확인. https://github.com/apache/impala/blob/master/bin/bootstrap_system.sh ↩︎