1. 环境要求
- Mac OS X or Linux
- Java 8 Update 151 or higher (8u151+), 64-bit. Both Oracle JDK and OpenJDK are supported.
- Maven 3.3.9+ (for building)
- Python 2.4+ (for running with the launcher script)
githup:https://github.com/prestodb/presto
2.安装
2.1 下载presto
https://prestodb.github.io/download.html
2.2安装presto
官方安装文档:https://prestodb.github.io/docs/current/installation/deployment.html
2.1.1 解压presto
#1.上传文件至/opt/soft
rz -be presto-server-0.223.tar.gz
#2.解压文件
tar -zxvf presto-server-0.223.tar.gz
#3.创建数据目录及配置目录
cd /opt/soft/presto-server-0.223
mkdir data && mkdir etc
2.2.2创建配置文件
presto的节点分为两种coordinator(主节点)、worker(从节点)
如果是搭建集群的话两种节点都需要配置,如果只是搭建单节点presto测试的话那么只需要coordinator节点即可
presto的基础配置文件大概有如下几种
都放在刚创建的etc目录下
配置文件 | 说明 |
---|---|
config.properties | presto服务配置 |
node.properties | 集群节点环境配置 |
jvm.config | JVM运行参数 |
log.properties | server日志级别 |
catalog*.properties | 数据源配置文件(如mysql.properties ) |
2.2.3主节点配置
如果只是搭建单节点presto测试的话那么只需要如下配置即可
config.properties
coordinator=true #是否主节点
node-scheduler.include-coordinator=true #coordinator节点是否作为任务执行节点
http-server.http.port=9000 #端口
query.max-memory=20GB #最大使用内存
query.max-memory-per-node=10GB #最大用户内存
query.max-total-memory-per-node=10GB`#最大用户和系统内存量 必须大于query.max-memory-per-node
discovery-server.enabled=true #discovery-server是否开启
discovery.uri=http://ip:9000 #webui
node.properties
node.environment=presto_test #集群名称
node.id=persto01 #节点名称 必须唯一
node.data-dir=/opt/soft/presto-server-0.223/data #数据存储目录
jvm.config
-server
-Xmx16G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:ReservedCodeCacheSize=150M
log.properties
com.facebook.presto=INFO #server日志级别
2.2.4从节点配置
从节点配置只需要将主节点的config.properties、node.properties修改即可
config.properties
coordinator=false
http-server.http.port=9000
query.max-memory=20GB
query.max-memory-per-node=10GB
query.max-total-memory-per-node=10GB
discovery.uri=http://ip:9000
node.properties
node.environment=presto_test
node.id=persto02
node.data-dir=/opt/soft/presto-server-0.223/data
以上就是presto的基础配置
2.2.5启动presto
presto的启动需要依赖其根目录下的bin/launcher文件,实际时调用了bin/launcher.py文件
一共有如下命令 'run', 'start', 'stop', 'restart', 'kill', 'status'
run:是前台启动、所有日志会在控制台打印,Ctrl+C后停止进程
start:的是台启动、直接显示进程id,可用过jps、ps -ef | grep presto等命令查看
这里为了方便排查presto是否成功安装选择前台启动
bin/launcher run
成功启动
如果出现SERVER STARTED 代表成功启动,否则对着报错信息调整环境及配置文件即可
3.连接mysql
Ctrl+C停掉之前的presto启动进程
在/opt/soft/presto-server-0.223/etc下新建catalog,并创建mysql.properties文件
mkdir /opt/soft/presto-server-0.223/etc/catalog
vim mysql.properties
#输入如下内容
connector.name=mysql
connection-url=jdbc:mysql://ip:3306?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&failOverReadOnly=false
connection-user=username
connection-password=password
重新启动presto,为了方便调试还是前台启动
bin/launcher run
连接mysql成功
如果出现上述内容说明mysql连接配置成功,如果出现连接异常请检查mysql.properties配置参数
4.执行命令行
presto命令行需要下载额外的jar包
地址如下:https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.224/presto-cli-0.224-executable.jar
在presto跟目录新建cli目录
#创建cli目录
mkdir /opt/soft/presto-server-0.223/cli
#下载jar包
wget 'https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.224/presto-cli-0.224-executable.jar'
#连接mysql schema 即为mysql的库名
java -jar presto-cli-0.224-executable.jar --server ip:9000 --catalog mysql --schema data_tmp
#在命令行界面执行sql;
show tables;
出现表信息代表mysql连接配置成功
image.png
q退出显示
quit 退出命令行客户端
如果是多个节点一样的配置即可
5.客户端连接
如果想直接以客户端连接的话推荐dbeaver工具
5.1配置presto连接信息
image.png image.png image.pngimage.png
进行如上操作直接点击完成即可自动下载jdbc驱动,下载过程可能会失败,多试几次即可
驱动下载完毕即可连接presto,然后就可以执行查询了
image.png image.png
到此presto安装及连接mysql测试结束,如果写的有不对之处还望不吝指正
网友评论