目录

1、简介

2、下载安装

1)下载镜像

2)下载presto客户端jar文件

3)将hadoop配置拷贝到容器

4)新增hive.properties配置文件

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

3、测试连接

4、其他类型数据库配置连接

1)mysql

2)oracle

3)PostgreSQL


目录

1、简介

2、下载安装

1)下载镜像

2)下载presto客户端jar文件

3)将hadoop配置拷贝到容器

4)新增hive.properties配置文件

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

3、测试连接


1、简介

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

2、下载安装

1)下载镜像

docker pull starburstdata/presto

下载过程:

Last login: Tue Jun 14 10:58:46 on ttys001
zxf@localhost ~ % docker pull starburstdata/presto
Using default tag: latest
latest: Pulling from starburstdata/presto
2d473b07cdd5: Pull complete
54c6b866b90d: Pull complete
9a2bdd16fa83: Pull complete
547ac96cdcb8: Pull complete
f341031b4ad5: Pull complete
ec9d1adc03e7: Pull complete
12b2f706192d: Pull complete
d5e53479b75a: Pull complete
Digest: sha256:8500cab845f47aef2a89be9500350b88b7061e587d272e64ddbc94f0ce2cf8ed
Status: Downloaded newer image for starburstdata/presto:latest
docker.io/starburstdata/presto:latest
zxf@localhost ~ %

2)下载presto客户端jar文件

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

下载完成后,run容器:

#端口号为8080,请自行修改,名字为presto

docker run -d -p 8080:8080  --name presto starburstdata/presto

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

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

如:

zxf@localhost Downloads % docker cp /Users/zxf/Downloads/presto-cli-0.260.1-executable.jar presto:/bin

3)将hadoop配置拷贝到容器

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

cd ${HADOOP_HOME}/etc/hadoop

docker cp core-site.xml presto:/usr/lib/presto/etc/

docker cp hdfs-site.xml presto:/usr/lib/presto/etc/

我的不是装本地,远程连接,所以找到

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

#以root用户进入容器,防止没有权限操作文件

docker exec --user=root -it presto /bin/bash

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

cd binmv presto-cli-0.260.1-executable.jar presto-clichmod a+x presto-cli

4)新增hive.properties配置文件

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

cd /usr/lib/presto/etc/catalogvi hive.properties

hive.properties:

#连接名,固定connector.name=hive-hadoop2#hive元数据uri,在hive-site.xml里能够找到,请自行修改ip和端口hive.metastore.uri=thrift://dsmaster:19083#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保存退出

其中,元数据可以去ambari上看

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

重启前检查下3个文件权限(core-site.xml、hdfs-site.xml和hive.properties

[root@e640f5a2d205 bin]# cd /usr/lib/presto/etc/catalog/
[root@e640f5a2d205 catalog]# ls -l
total 20
-rw-r--r-- 1    501 games 401 Jun 14 07:16 hive.properties
-rw-r--r-- 1 presto root   19 Dec 17  2020 jmx.properties
-rw-r--r-- 1 presto root   22 Dec 17  2020 memory.properties
-rw-r--r-- 1 presto root   45 Dec 17  2020 tpcds.properties
-rw-r--r-- 1 presto root   43 Dec 17  2020 tpch.properties
[root@e640f5a2d205 catalog]# chown presto:root hive.properties
[root@e640f5a2d205 catalog]# ls -l
total 20
-rw-r--r-- 1 presto root 401 Jun 14 07:16 hive.properties
-rw-r--r-- 1 presto root  19 Dec 17  2020 jmx.properties
-rw-r--r-- 1 presto root  22 Dec 17  2020 memory.properties
-rw-r--r-- 1 presto root  45 Dec 17  2020 tpcds.properties
-rw-r--r-- 1 presto root  43 Dec 17  2020 tpch.properties
[root@e640f5a2d205 catalog]# cd ..
[root@e640f5a2d205 etc]# ll
total 36
drwxr-xr-x 1 presto root  4096 Jun 14 07:20 catalog
-rw-r--r-- 1 presto root   178 Dec 17  2020 config.properties
-rw-r--r-- 1    501 games 4655 Jun 14 03:52 core-site.xml
-rw-r--r-- 1    501 games 6941 Jun 14 04:01 hdfs-site.xml
-rw-r--r-- 1 presto root   295 Dec 17  2020 jvm.config
-rw-r--r-- 1 presto root    57 Dec 17  2020 log.properties
-rw-r--r-- 1 presto root    85 Dec 17  2020 node.properties
[root@e640f5a2d205 etc]# chown presto:root *
[root@e640f5a2d205 etc]# ls -l
total 36
drwxr-xr-x 1 presto root 4096 Jun 14 07:20 catalog
-rw-r--r-- 1 presto root  178 Dec 17  2020 config.properties
-rw-r--r-- 1 presto root 4655 Jun 14 03:52 core-site.xml
-rw-r--r-- 1 presto root 6941 Jun 14 04:01 hdfs-site.xml
-rw-r--r-- 1 presto root  295 Dec 17  2020 jvm.config
-rw-r--r-- 1 presto root   57 Dec 17  2020 log.properties
-rw-r--r-- 1 presto root   85 Dec 17  2020 node.properties
docker restart presto

3、测试连接

进入容器:

#以root用户进入容器,防止没有权限操作文件

docker exec --user=root -it presto /bin/bash

#进入bin目录

cd bin

#执行命令行脚本并测试hive连接,连接到hive配置文件,数据库是default

[root@e640f5a2d205 /]# cd bin
[root@e640f5a2d205 bin]# ./presto-cli --server localhost:8080 --catalog hive --schema default
presto:default> show tables;Table
-----------------------busssdm_info_1t_syst_sys_data_permissiont_user
(5 rows)Query 20220614_073624_00009_wd2j6, FINISHED, 1 node
Splits: 19 total, 19 done (100.00%)
0:01 [5 rows, 131B] [3 rows/s, 88B/s]presto:default>#换test看看
presto:default>exit
[root@e640f5a2d205 bin]# ./presto-cli --server localhost:8080 --catalog hive --schema test
presto:test> show tables;Table
------------bussnewtablesdm_info_1
(3 rows)Query 20220614_073524_00006_wd2j6, FINISHED, 1 node
Splits: 19 total, 19 done (100.00%)
0:04 [3 rows, 64B] [0 rows/s, 16B/s]presto:test>

说明:要是连不上,检查/etc/hosts,有做集群的,要都带上,如:

192.168.1.86 dsmaster
192.168.1.87 dsslave1
192.168.1.88 dsslave2

hive环境搭建可参考,小编整理的详细安装过程,有问题可以留言,谢谢!

Ambari安装和配置详细步骤_小慌慌的博客-CSDN博客_ambari安装​目录一、准备环境二、修改主机名和hosts文件八、安装ambari九、系统配置十、实例演示一、准备环境1、服务器准备至少3台我这边准备了3台:192.168.1.86(master)192.168.1.87(slave1)192.168.1.88(slave2)2、在(master上):mkdir -p /var/www/html​3、ambari依赖包准备,上传到主节点master的/var/www/html路径下(本次选择的amb..https://blog.csdn.net/whowhowhoisimportant/article/details/120096424?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165519242616782425118312%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=165519242616782425118312&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-120096424-null-null.nonecase&utm_term=amb&spm=1018.2226.3001.4450

4、其他类型数据库配置连接

与hive的类似

1)mysql

cd /usr/lib/presto/etc/catalog

vi mysql.properties

#设置MySQL连接名称
connector.name=mysql
#设置MySQL连接地址
connection-url=jdbc:mysql://localhost:3306
#设置MySQL登录用户
connection-user=root
#设置MySQL登录密码
connection-password=123456

启动

[root@e640f5a2d205 /]# cd bin
[root@e640f5a2d205 bin]# ./presto-cli --server localhost:8080 --catalog mysql

2)oracle

cd /usr/lib/presto/etc/catalog

vi oracle.properties

connector.name=oracle
# The correct syntax of the connection-url varies by Oracle version and
# configuration. The following example URL connects to an Oracle SID named
# "orcl".
connection-url=jdbc:oracle:thin:@ip:1521:orl
connection-user=user
connection-password=password

启动

[root@e640f5a2d205 /]# cd bin
[root@e640f5a2d205 bin]# ./presto-cli --server localhost:8080 --catalog oracle

3)PostgreSQL

cd /usr/lib/presto/etc/catalog

vi postgresql.properties

connector.name=postgresql
connection-url=jdbc:postgresql://ip:5432/database
connection-user=user
connection-password=password

启动

[root@e640f5a2d205 /]# cd bin
[root@e640f5a2d205 bin]# ./presto-cli --server localhost:8080 --catalog postgresql

Presto连接支持7种类型数据库:hive、mysql、oracle、postgresql、SQL server、MongoDB、Kudu。仅限于查询、连接。还支持中间件连接(redis、kafka、​​​​​​​​Elasticsearch )

详细可参考官方文档

Presto 0.273.3 官方文档​​​​​​​

【Docker】安装Presto连接Hive、mysql、oracle、postgresql、SQL server等7种类型数据库相关推荐

  1. linux python连接oracle数据库_Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法...

    本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL.Oracle.SQL Server数据库. 其中包括以下几个软件的安装及配置: ...

  2. SQLErrorCodes loaded: [DB2, Derby, H2, HSQL, Informix, MS-SQL, MySQL, Oracle, PostgreSQL, Sybase, Ha

    前言 mysql 5.7 ssm 前两天遇到了这个异常,记录一下: [INFO][2019-10-06 02:03:39,268][org.springframework.beans.factory. ...

  3. C#连接4种类型数据库(Access、SQL Server、Oracle、MySQL)

    C#连接4种类型数据库(Access.SQL Server.Oracle.MySQL) 1.C#连接连接Access using System.Data; using System.Data.OleD ...

  4. docker安装redis连接redis可视化工具Redis Desktop Manager+springboot项目使用Cache缓存+springboot项目整合 Redis 实现缓存

    今天进一步学习了redis的相关知识,希望下面的博客可以给博友们带来帮助. docker安装redis连接Redis Desktop Manager 启动docker (系统控制ctl:control ...

  5. Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos

    Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos 前言 一.Docker中安装配置Nacos 安装Docker 拉取Nacos镜像 启动 ...

  6. 安装mysql odbc重启mssql_关于php连接mssql:pdo odbc sql server

    关于php连接mssql:pdo odbc sql server 更新时间:2011年07月20日 00:39:33   作者: 研究了很久,终于发现:最新的php 5.3.6中php_mssql.d ...

  7. MySQL、Oracle、SQL Server

    MySQL MySQL是一个快速.多线程.多用户.网络化数据库服务器,由瑞典TcX公司负责开发和维护.1994年,TcX开始寻找一个用来开发web应用程序的SQl服务器.他们测试了一些商业服务器,但是 ...

  8. oracle的优化适用于mysql吗_性能优化之数据库优化,适用于Sqlite、Mysql、Oracle、Sql server,详细介绍了索引和事务及部分针对Sqlite的优化...

    本文为性能优化的第一篇--数据库性能优化,原理适用于大部分数据库包括Sqlite.Mysql.Oracle.Sql server,详细介绍了索引(优缺点.分类.场景.规则)和事务,最后介绍了部分单独针 ...

  9. mysql 1326_Mysql应用SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问题解决方案...

    <Mysql应用SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问题解决方案>要点: 本文介绍了Mysql应用SQL Server 出现Error: 132 ...

最新文章

  1. MySQL数据表的创建、查看、插入
  2. es查询index生成时间_Elasticsearch开始的第一步索引index
  3. 从mysql到大数据(二)--数据库的认识
  4. 3-1HDFS基本概念
  5. 最长回文串之中心扩散法
  6. Verizon CEO证实公司正考虑出价收购雅虎
  7. CS中mdl文件的解析
  8. vb.net 教程 3-10 窗体编程 datagridview控件 7 修改单元格
  9. linux的mysql占用cpu过高_关于在Linux环境下,Mysql占用CPU使用率100%的优化
  10. java打印出 锟斤拷_一段java代码带你认识锟斤拷
  11. Pandas - A value is trying to be set on a copy of a slice from a DataFrame
  12. excel文件中的多个工作表按名称排序
  13. C/C++中的日期和时间
  14. 微博和微信的区别之处在哪里?
  15. OpenCV视频篇——颜色跟踪
  16. 全球与中国触摸屏IC市场现状及未来发展趋势
  17. 电脑发到,电脑发送到手机的文件在哪里
  18. mysql安装流程以及各类问题解决
  19. 第三人称计算机获奖感言,求一篇获奖感言,加分到300
  20. Autohotkey window 下宏键盘、宏命令开发入门

热门文章

  1. 金融科技团队的敏捷转型之路 ——浅谈如何提升敏捷领导力
  2. 激活社保卡去哪个地方的银行都可以吗?
  3. 影响宝宝大脑发育的6个坏习惯,你可能每天都在做
  4. 下沉至县级城市,红星美凯龙会不会“水土不服”?
  5. UVA1587 盒子 Box 题解
  6. 18.10----19.3知识点复盘
  7. 智慧消防为城市生命线构筑“加强版”免疫系统
  8. 跨境电商取得成功的三个可行性战略
  9. 移动跨平台框架React Native状态栏组件StatusBar【16】
  10. 2021年安全员-A证最新解析及安全员-A证考试试卷