在某些场景下,需要快速构建自己的 Hive 测试环境来调试和学习 Hive 相关的语法和分析执行语句。本文介绍了和种免除分布式Hadoop配置的复杂过程。能够快速构建自己的Hive环境,并介绍构建在远程主机情况下,客户端访问Hive与执行SQL。
基本条件
本文参考的基本安装配置如下,
- Linux(本文采用Debian,开放ssh远程访问)
- Docker
配置步骤
1.在已安装 Docker 的 Linux 主机上拉取镜像1。
docker pull apache/hive:对应版本
在 Docker Hub 上目前仅有3个版本
- 4.0.0-alpha-2
- 4.0.0-alpha-1
- 3.1.3
2.在 Shell 环境设置 Hive 对应版本
export HIVE_VERSION=对应版本
3.创建容器, --name
后为容器名称,可设置为其它
docker run -d -p 10000:10000 -p 10002:10002 --env SERVICE_NAME=hiveserver2 --name hive apache/hive:${HIVE_VERSION}
4.尝试用 beeline 连接检测容器是否正常。若创建容器时修改了名称,注意执行下面语句也要调整对应名称。
docker exec -it hive beeline -u 'jdbc:hive2://localhost:10000/'
至此,Apache Hive 测试环境已配置成功!
以下为扩展配置,使用 DataGrip 连接 远程 Linux中的 Docker Hive。
- 配置 Linux SSH,开放远程 SSH 访问。具体可通过搜索查询相关资料。
- DataGrip 配置
Data Source选择 Apache Hive,General不调整默认10000端口号,SSH/SSL 选项歨配置 SSH,若是在 ~/.ssh/config 中配置了远程的连接,这里可以直接选择配置即可。然后下载 Hive Driver,再 Test Connection,连接正常后即可保存数据源。
- console中执行测试
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;
整体架构
- 典型C/S架构
- 客户端可多种形式,连接时要通过 SSH 访问 Server 端服务
- Server端要注意开放的端口号,调整默认端口后,客户端要相应调整