去官网下载对应安装包https://prestodb.io/download.html
presto-server-0.271.tar.gzpresto-cli-0.271-executable.jarpresto-jdbc-0.271.jar 解压
tar -zxvf presto-server-0.271.tar.gz设置配置文件
在安装目录创建一个etc和data目录
mkdir /opt/xxx/presto-server-0.271/etc
mkdir /opt/xxx/presto-server-0.271/data
创建配置文件node.properties
vim /opt/xxx/presto-server-0.271/etc/node.properties
加入如下配置 node.environment=production node.id=presto1 node.data-dir=/opt/xxx/presto-server-0.271/data
创建配置文件jvm.config
vim /opt/xxx/presto-server-0.271/etc/jvm.config
加入如下配置 -server -Xmx16G -XX:+UseG1GC -XX:G1HeapRegionSize=32M -XX:+UseGCOverheadLimit -XX:+ExplicitGCInvokesConcurrent -XX:+HeapDumponOutOfMemoryError -XX:+ExitonOutOfMemoryError
创建配置文件config.properties
vim /opt/xxx/presto-server-0.271/etc/config.properties
加入如下配置 coordinator=true 允许此Presto实例充当协调器(接受来自客户端的查询并管理查询执行)。 node-scheduler.include-coordinator=true 是否允许在coordinator服务中进行调度工作, 对于大型的集群,在一个节点上的Presto server即作为coordinator又作为worke将会降低查询性能。因为如果一个服务器作为worker使用,那么大部分的资源都会被worker占用,那么就不会有足够的资源进行关键任务调度、管理和监控查询执行(集群模式的话如果coordinator=true,则此参数一般设为false )。 http-server.http.port=18080 指定HTTP服务器的端口。Presto使用HTTP进行内部和外部的所有通信。 query.max-memory=5GB 查询可能使用的最大分布式内存量。 query.max-memory-per-node=1GB 查询可在任何一台计算机上使用的最大用户内存量。 query.max-total-memory-per-node=2GB 查询可在任何一台计算机上使用的最大用户和系统内存量,其中系统内存是读取器,写入程序和网络缓冲区等执行期间使用的内存。 discovery-server.enabled=true 查询可在任何一台计算机上使用的最大用户和系统内存量,其中系统内存是读取器,写入程序和网络缓冲区等执行期间使用的内存。 discovery.uri=http://192.168.88.101:18080 服务器的URI。因为我们在Presto协调器中启用了Discovery的嵌入式版本,所以它应该是Presto协调器的URI。替换example.net:8080以匹配Presto协调器的主机和端口。此URI不得以斜杠结尾。
创建配置文件log.properties
vim /opt/xxx/presto-server-0.271/etc/log.properties
加入如下配置 com.facebook.presto = INFO 共四个级别DEBUG,INFO,WARN和ERROR。
创建目录cacalog且设置配置文件
mkdir /opt/xxx/presto-server-0.271/etc/cacalog vim /opt/xxx/presto-server-0.271/etc/cacalog/hive.properties
加入配置 connector.name=hive-hadoop2 hive.metastore.uri=thrift://node01:9083 hive.config.resources=/opt/xxx/hadoop-3.1.2/etc/hadoop/core-site.xml,/opt/xxx/hadoop-3.1.2/etc/hadoop/hdfs-site.xml运行
运行前需要hive启动metastore
hive --service metastore
sh /opt/xxx/presto-server-0.271/bin/launcher start
在次目录下查看对应日志/opt/xxx/presto-server-0.271/data/var/log
客户端连接修改jar包presto-cli-0.271-executable.jar的权限
chmod +x presto-cli-0.271-executable.jar
连接
./presto-cli-0.271-executable.jar --server 192.168.88.101:18080 --catalog hive --schema defaultDataGrip中jdbc连接
设置Drivers
连接
集群
把单节点的presto-server-0.271文件夹拷贝到其他节点
scp -r /opt/xxx/presto-server-0.271 root@node02:/opt/xxx
scp -r /opt/xxx/presto-server-0.271 root@node03:/opt/xxx
修改node02和node03对应的配置文件
修改config.properties为以下内容
coordinator=false http-server.http.port=18080 query.max-memory=5GB query.max-memory-per-node=1GB query.max-total-memory-per-node=2GB discovery.uri=http://192.168.88.101:18080
修改node.properties中以下内容
node.id=presto2/presto3 每个节点的id需要不一样
启动
分别启动每个节点
bin/launcher start
验证
在wei-ui中可以查看运行的worker数(我的node01为协调器,node02和node03为worker)



