Docker安装Presto连接Hive的详细过程

时间:2022-04-25 17:38:41

1、简介

Presto 是一个开源分布式 SQL 查询引擎,用于针对从千兆字节到 PB 级的各种规模的数据源运行交互式分析查询。Presto 允许查询数据所在的位置,包括 Hive、Cassandra、关系数据库甚至专有数据存储。单个 Presto 查询可以组合来自多个来源的数据,从而允许对整个组织进行分析。

2、下载安装

1)下载镜像

?
1
docker pull starburstdata/presto

2)下载客户端jar

因为pull下来的镜像是server,是没有presto-cli命令的,所以需要下载presto-cli-0.260.1-executable.jar,然后将下载好的jar包拉入Linux系统中。

下载完成后,run容器:

?
1
2
#端口号为8080,请自行修改,名字为presto
docker run -d -p 8080:8080  --name presto starburstdata/presto

将客户端jar包拷贝到容器中的bin目录下:

?
1
docker cp [客户端jar包所在的linux路径] [容器名]:/bin

进入到hadoop配置文件目录,将core-site.xml和hdfs-site.xml复制到容器中

?
1
2
3
cd ${HADOOP_HOME}/etc/hadoop
docker cp core-site.xml presto:/usr/lib/presto/etc/
docker cp core-site.xml presto:/usr/lib/presto/etc/

进入容器(以下不标注都是在容器中进行的操作):

?
1
2
#以root用户进入容器,防止没有权限操作文件
docker exec --user=root -it presto /bin/bash

将客户端jar包改名并赋予可执行权限:

?
1
2
3
cd bin
mv presto-cli-0.260.1-executable.jar presto-cli
chmod a+x presto-cli

3、配置文件

进入配置文件目录,创建hive配置文件:

?
1
2
cd /usr/lib/presto/etc/catalog
vi hive.properties

hive.properties:

?
1
2
3
4
5
6
#连接名,固定
connector.name=hive-hadoop2
#hive元数据uri,在hive-site.xml里能够找到,请自行修改ip和端口
hive.metastore.uri=thrift://192.168.10.51:9083
#hive配置的资源 core-site.xml和hdfs-site.xml,请根据自己集群中的配置文件路径进行修改,中间用逗号隔开
hive.config.resources=/usr/lib/presto/etc/core-site.xml,/usr/lib/presto/etc/hdfs-site.xml

wq保存退出

重启容器(在linux命令行下):

?
1
docker restart presto

4、测试连接

进入容器:

?
1
2
3
4
5
6
7
#以root用户进入容器,防止没有权限操作文件
docker exec --user=root -it presto /bin/bash
#进入bin目录
cd bin
#执行命令行脚本并测试hive连接,连接到hive配置文件,数据库是default
./presto-cli --server localhost:8080 --catalog hive --schema default
presto>show tables;

到此这篇关于Docker安装Presto连接Hive的详细过程的文章就介绍到这了,更多相关Docker安装Presto内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.cnblogs.com/leilcoding/p/15232778.html