本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Apache Impala是Cloudera开发的开源大规模并行处理(MPP)SQL查询引擎,旨在为Hadoop生态系统提供高性能、低延迟的交互式SQL分析能力。本Docker镜像封装了Apache Impala及其依赖组件,简化了部署流程,确保环境一致性,便于快速集成到Hadoop集群中,主要用于对存储在HDFS、HBase、Hive等系统中的大数据进行实时或近实时的SQL查询与分析。
Impala由三个核心组件构成,需协同工作:
创建docker-compose.yml文件统一管理组件:
version: '3.8' services: impala-state-store: image: apache/impala:latest container_name: impala-state-store network_mode: "hadoop-network" # 需与Hadoop集群使用同一网络 environment: - IMPALA_STATE_STORE_HOST=impala-state-store - IMPALA_LOG_DIR=/var/log/impala volumes: - impala-state-store-data:/var/lib/impala command: impala-state-store impala-catalog: image: apache/impala:latest container_name: impala-catalog network_mode: "hadoop-network" environment: - IMPALA_CATALOG_SERVICE_HOST=impala-catalog - HIVE_METASTORE_URI=thrift://hive-metastore:9083 # 替换为实际Hive Metastore地址 - IMPALA_STATE_STORE_HOST=impala-state-store volumes: - impala-catalog-data:/var/lib/impala depends_on: - impala-state-store command: impala-catalog impala-daemon: image: apache/impala:latest container_name: impala-daemon network_mode: "hadoop-network" ports: - "21000:21000" # Impala Shell连接端口 - "21050:21050" # Web UI端口(访问http://localhost:21050查看集群状态) environment: - IMPALA_DAEMON_HOST=impala-daemon - IMPALA_STATE_STORE_HOST=impala-state-store - HIVE_METASTORE_URI=thrift://hive-metastore:9083 # 替换为实际Hive Metastore地址 - IMPALA_MEMORY_LIMIT=8g # 根据主机资源调整内存限制 - HADOOP_CONF_DIR=/etc/hadoop/conf volumes: - /path/to/hadoop/conf:/etc/hadoop/conf # 挂载Hadoop配置文件(包含HDFS连接信息) - impala-daemon-data:/var/lib/impala depends_on: - impala-state-store - impala-catalog command: impalad volumes: impala-state-store-data: impala-catalog-data: impala-daemon-data:
启动服务:
# 创建并启动容器 docker-compose up -d # 查看服务状态 docker-compose ps
| 环境变量 | 描述 | 默认值 |
|---|---|---|
HIVE_METASTORE_URI | Hive Metastore服务地址(Thrift URI) | thrift://localhost:9083 |
IMPALA_STATE_STORE_HOST | StateStore组件主机名/IP | localhost |
IMPALA_CATALOG_SERVICE_HOST | Catalog Server组件主机名/IP | localhost |
IMPALA_MEMORY_LIMIT | Impala Daemon内存限制(如8g) | 物理内存的70% |
HADOOP_CONF_DIR | Hadoop配置文件目录 | /etc/hadoop/conf |
IMPALA_LOG_DIR | 日志输出目录 | /var/log/impala |
通过容器内Impala Shell连接:
docker exec -it impala-daemon impala-shell
通过外部Impala Shell客户端连接(需安装Impala客户端):
impala-shell -i localhost:21000
-- 查看数据库 SHOW DATABASES; -- 查询Hive表数据(假设Hive中已存在表`user_behavior`) SELECT user_id, COUNT(*) AS cnt FROM user_behavior GROUP BY user_id LIMIT 10; -- 创建Parquet格式表 CREATE TABLE IF NOT EXISTS impala_test ( id INT, name STRING, create_time TIMESTAMP ) STORED AS PARQUET LOCATION '/user/hive/warehouse/impala_test';
Impala Daemon提供Web UI查看集群状态和查询详情:
http://<宿主机IP>:21050INVALIDATE METADATA <table_name>刷新元数据。免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429