本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

Apache Hive™ 是一款主流开源数据仓库框架,支持查询存储在分布式系统(如 Hadoop HDFS、Apache Ozone、Amazon S3、Azure Data Lake Storage 等)中的大规模数据集。它提供类 SQL 接口(HiveQL),可用于查询、分析和管理结构化及半结构化数据。
通过 Hive,用户能定义表和数据模式,用熟悉的类 SQL 语法编写查询,执行过滤、聚合、关联等数据分析任务。Hive 兼容多种常见数据格式,包括 CSV、JSON、Avro、ORC、Parquet。
先定义 Hive 版本(根据实际使用的镜像标签调整):
export HIVE_VERSION=<Hive 版本号>
示例:
export HIVE_VERSION=4.1.0
适合轻量快速部署,使用 Derby 作为元数据库(无需额外配置数据库):
docker run -d -p 10000:10000 -p 10002:10002 \ --env SERVICE_NAME=hiveserver2 \ --name hive4 \ apache/hive:${HIVE_VERSION}
如需单独部署元存储(仍用 Derby 轻量模式):
docker run -d -p 9083:9083 \ --env SERVICE_NAME=metastore \ --name metastore-standalone \ apache/hive:${HIVE_VERSION}
注意:此模式下,容器停止后数据会丢失。若需持久化表结构和数据,需搭配外部 Postgres 数据库及卷(volume)存储。
若已有独立元存储,启动 HiveServer2 时指定元存储地址:
docker run -d -p 10000:10000 -p 10002:10002 \ --env SERVICE_NAME=hiveserver2 \ --env SERVICE_OPTS="-Dhive.metastore.uris=thrift://metastore:9083" \ # 指定外部元存储地址 --env IS_RESUME="true" \ --name hiveserver2-standalone \ apache/hive:${HIVE_VERSION}
生产环境建议用外部数据库存储元数据,以确保持久化。以下为 Postgres 示例:
docker run -d -p 9083:9083 \ --env SERVICE_NAME=metastore \ --env DB_DRIVER=postgres \ --env SERVICE_OPTS="\ -Djavax.jdo.option.ConnectionDriverName=org.postgresql.Driver \ -Djavax.jdo.option.ConnectionURL=jdbc:postgresql://postgres:5432/metastore_db \ # 数据库连接地址 -Djavax.jdo.option.ConnectionUserName=hive \ # 数据库用户名 -Djavax.jdo.option.ConnectionPassword=password" \ # 数据库密码 --mount source=warehouse,target=/opt/hive/data/warehouse \ # 挂载卷持久化数据 --name metastore-standalone \ apache/hive:${HIVE_VERSION}
数据持久化:启动 HiveServer2 时,也需挂载卷保存数据,命令示例:
docker run -d -p 10000:10000 -p 10002:10002 \ --env SERVICE_NAME=hiveserver2 \ --env SERVICE_OPTS="-Dhive.metastore.uris=thrift://metastore:9083" \ --mount source=warehouse,target=/opt/hive/data/warehouse \ --env IS_RESUME="true" \ --name hiveserver2 \ apache/hive:${HIVE_VERSION}
如需使用自定义配置文件(如 core-site.xml、hive-site.xml 等),可通过 HIVE_CUSTOM_CONF_DIR 环境变量指定配置目录。例如,将配置文件放在宿主机 /opt/hive/conf 目录,启动命令:
docker run -d -p 9083:9083 \ --env SERVICE_NAME=metastore \ --env DB_DRIVER=postgres \ -v /opt/hive/conf:/hive_custom_conf \ # 挂载宿主机配置目录到容器内 --env HIVE_CUSTOM_CONF_DIR=/hive_custom_conf \ # 指定自定义配置目录 --name metastore \ apache/hive:${HIVE_VERSION}
Beeline 是 Hive 的命令行客户端,可通过容器内执行或本地安装后连接:
hive4):
docker exec -it hive4 beeline -u 'jdbc:hive2://localhost:10000/'
beeline -u 'jdbc:hive2://localhost:10000/'
启动后,通过浏览器访问:`[***]
-- 查看表 show tables; -- 创建分区表 create table hive_example(a string, b int) partitioned by(c int); -- 添加分区 alter table hive_example add partition(c=1); -- 插入数据 insert into hive_example partition(c=1) values('a', 1), ('a', 2), ('b', 3); -- 数据分析 select count(distinct a) from hive_example; -- 去重计数 select sum(b) from hive_example; -- 求和
详细操作可参考官方文档:[***]
免费版仅支持 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