两台CentOS7.8操作系统:
10.0.10.200 centos-001 coordinator/workers ##主节点也做workers
10.0.10.201 centos-002 workers ##工作节点
presto镜像地址:https://repo1.maven.org/maven2/com/facebook/presto/
presto-server-0.275.tar.gz:https:/ /repo1.maven.org/maven2/com/facebook/presto/presto-server/0.275/
presto-cli-0.275-executable.jar:https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.275/
jdk-8u331-linux-x64.tar.gz:https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html
解压目录:/usr/java/jdk1.8.0_331
## 配置环境变量
vi /etc/profile
## 添加一下内容
# JAVA_HOME
JAVA_HOME=/usr/java/jdk1.8.0_331
JRE_HOME=/usr/java/jdk1.8.0_331/jre
CLASS_PATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
## 使环境变量生效
source /etc/profile
# 创建presto目录
mkdir /opt/presto
# 解压
tar -zxvf /opt/software/presto-server-0.275.tar.gz -C /opt/presto/
# 将客户端文件放在bin目录,并重命名
cp presto-cli-0.275-executable.jar /opt/presto/presto-server-0.275/bin/
mv /opt/presto/presto-server-0.275/bin/presto-cli-0.275-executable.jar /opt/presto/presto-server-0.275/bin/presto
# 增加可执行权限
chmod +x /opt/presto/presto-server-0.275/bin/presto
1)创建配置文件
# 创建data目录
mkdir -p /opt/presto/data
# 创建配置文件
touch /opt/presto/presto-server-0.275/etc/config.properties
touch /opt/presto/presto-server-0.275/etc/jvm.config
touch /opt/presto/presto-server-0.275/etc/log.properties
touch /opt/presto/presto-server-0.275/etc/node.properties
2)config.properties
coordinator节点:
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8085
query.max-memory=2GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://10.0.10.200:8085
workers节点:
coordinator=false
http-server.http.port=8085
query.max-memory=2GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=1GB
discovery.uri=http://10.0.10.200:8085
3)jvm.config(主从节点一致)
-server
-Xmx16G
-XX:-UseBiasedLocking
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+ExplicitGCInvokesConcurrent
-XX:+ExitOnOutOfMemoryError
-XX:+HeapDumpOnOutOfMemoryError
-XX:ReservedCodeCacheSize=512M
-XX:PerMethodRecompilationCutoff=10000
-XX:PerBytecodeRecompilationCutoff=10000
-Djdk.attach.allowAttachSelf=true
-Djdk.nio.maxCachedBufferSize=200000
4)node.properties
coordinator节点:
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff-001
node.data-dir=/opt/presto/data
workers节点:
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff-002
node.data-dir=/opt/presto/data
5)log.properties(主从节点一致)
io.trino=INFO
# 创建catalog目录
mkdir -p /opt/presto/presto-server-0.275/etc/catalog
# 创建mysql.properties文件
vi /opt/presto/presto-server-0.275/etc/catalog/mysql.properties
connector.name=mysql
connection-url=jdbc:mysql://10.0.10.200:10000?sslMode=REQUIRED&serverTimezone=GMT%2B8&useSSL=false
connection-user=admin
connection-password=******
Presto连接支持7种类型数据库:hive、mysql、oracle、postgresql、SQL server、MongoDB、Kudu。仅限于查询、连接。还支持中间件连接(redis、kafka、Elasticsearch )
具体properties文件的编写可参考官网:https://prestodb.io/docs/current/connector.html
以上配置完成后,将主节点的/opt/presto文件复制到所有从节点的/opt/presto目录即可,注意修改主从不一致的config.properties和node.properties文件即可
# 第一次建议调试启动
/opt/presto/presto-server-0.275/bin/launcher --verbose run
# 后台启动(日志在/opt/presto/data/var/log)
/opt/presto/presto-server-0.275/bin/launcher start
# 停止服务
/opt/presto/presto-server-0.275/bin/launcher stop
# 从启
/opt/presto/presto-server-0.275/bin/launcher restart
地址:http://10.0.10.200:8085/
# 进入客户端
/opt/presto/presto-server-0.275/bin/presto --server 10.0.10.200:8085
# 查看连接的数据源
show catalogs;
# 查看所有库
show schemas from mysql;
# 单表查询
select * from mysql.presto.tbl_presto_query_test_20220824 LIMIT 100;
github地址:https://github.com/dbeaver/dbeaver
下载地址:https://github.com/dbeaver/dbeaver/releases
1)新建数据库连接–>SQL–>PrestoDB–>输入以下信息
2)填写连接信息
主机:10.0.10.200
端口:8085
用户名:填任意值即可
密码可不填,如果填写密码,presto就认为是有配置帐号密码了,这时候为了安全就会走SSL认证,但是实际presto没有设置SSL认证,会报错
3)测试连接
如果没有安装驱动的话,这里Dbeaver会自动下载最新的presto jdbc连接驱动,下载完成即可连接成功
至此Presto安装完成,后续在工作或者学习中遇到更多问题再更新,如果有什么需要补充的欢迎评论指出!