【Docker】安装Presto连接Hive、mysql、oracle、postgresql、SQL server等7种类型数据库
目录
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/html3、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种类型数据库相关推荐
- linux python连接oracle数据库_Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法...
本文档主要描述了Linux下python数据库驱动的安装和配置,用来实现在Linux平台下通过python访问MySQL.Oracle.SQL Server数据库. 其中包括以下几个软件的安装及配置: ...
- 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. ...
- C#连接4种类型数据库(Access、SQL Server、Oracle、MySQL)
C#连接4种类型数据库(Access.SQL Server.Oracle.MySQL) 1.C#连接连接Access using System.Data; using System.Data.OleD ...
- docker安装redis连接redis可视化工具Redis Desktop Manager+springboot项目使用Cache缓存+springboot项目整合 Redis 实现缓存
今天进一步学习了redis的相关知识,希望下面的博客可以给博友们带来帮助. docker安装redis连接Redis Desktop Manager 启动docker (系统控制ctl:control ...
- Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos
Linux使用Docker安装Nacos并配置MySQL数据源,将Springboot的配置文件部署到Nacos 前言 一.Docker中安装配置Nacos 安装Docker 拉取Nacos镜像 启动 ...
- 安装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 ...
- MySQL、Oracle、SQL Server
MySQL MySQL是一个快速.多线程.多用户.网络化数据库服务器,由瑞典TcX公司负责开发和维护.1994年,TcX开始寻找一个用来开发web应用程序的SQl服务器.他们测试了一些商业服务器,但是 ...
- oracle的优化适用于mysql吗_性能优化之数据库优化,适用于Sqlite、Mysql、Oracle、Sql server,详细介绍了索引和事务及部分针对Sqlite的优化...
本文为性能优化的第一篇--数据库性能优化,原理适用于大部分数据库包括Sqlite.Mysql.Oracle.Sql server,详细介绍了索引(优缺点.分类.场景.规则)和事务,最后介绍了部分单独针 ...
- mysql 1326_Mysql应用SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问题解决方案...
<Mysql应用SQL Server 出现Error: 1326错误(管理器无法连接远程数据库)问题解决方案>要点: 本文介绍了Mysql应用SQL Server 出现Error: 132 ...
最新文章
- MySQL数据表的创建、查看、插入
- es查询index生成时间_Elasticsearch开始的第一步索引index
- 从mysql到大数据(二)--数据库的认识
- 3-1HDFS基本概念
- 最长回文串之中心扩散法
- Verizon CEO证实公司正考虑出价收购雅虎
- CS中mdl文件的解析
- vb.net 教程 3-10 窗体编程 datagridview控件 7 修改单元格
- linux的mysql占用cpu过高_关于在Linux环境下,Mysql占用CPU使用率100%的优化
- java打印出 锟斤拷_一段java代码带你认识锟斤拷
- Pandas - A value is trying to be set on a copy of a slice from a DataFrame
- excel文件中的多个工作表按名称排序
- C/C++中的日期和时间
- 微博和微信的区别之处在哪里?
- OpenCV视频篇——颜色跟踪
- 全球与中国触摸屏IC市场现状及未来发展趋势
- 电脑发到,电脑发送到手机的文件在哪里
- mysql安装流程以及各类问题解决
- 第三人称计算机获奖感言,求一篇获奖感言,加分到300
- Autohotkey window 下宏键盘、宏命令开发入门