1、上传 presto-server-0.244.tar.gz并解压
2、创建etc文件夹
3、在etc目录下创建
节点属性:特定于每个节点的环境配置 --- etc/node.properties
JVM Config:Java虚拟机的命令行选项 --- etc/jvm.config
配置属性:Presto服务器的配置 --- etc/config.properties
日志级别配置文件 --- etc/log.properties
目录属性:连接器(数据源)的配置
4、编辑node.properties文件
属性 | 解释 |
---|---|
node.environment | 环境的名称。集群中的所有Presto节点必须具有相同的环境名称。 |
node.id | 此Presto安装的唯一标识符。对于每个节点,这必须是唯一的。在重新启动或升级Presto时,此标识符应保持一致。如果在一台计算机上运行多个Presto安装(即同一台计算机上的多个节点),则每个安装必须具有唯一标识符。 |
node.data-dir | 数据目录的位置(文件系统路径)。Presto将在此处存储日志和其他数据。 |
node.environment=production
node.id=presto1
node.data-dir=/opt/presto/data
5、编辑jvm.config文件
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
6、编辑config.properties文件
包含Presto服务器的配置。每个Presto服务器都可以充当协调器和工作器,但是专用一台机器来执行协调工作可以在更大的集群上提供最佳性能。
现在自己测试,不考虑性能。为方便起见,只用单节点,即当coordinator 也当worker。
将以下配置复制加入新建的config.properties
(8080端口容易起冲突,修改为了8081)
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8081
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.85.129:8081
coordinator:允许此Presto实例充当协调器(接受来自客户端的查询并管理查询执行)。
node-scheduler.include-coordinator:允许在协调器上安排工作。对于较大的集群,协调器上的处理工作可能会影响查询性能,因为计算机的资源不可用于调度,管理和监视查询执行的关键任务。
http-server.http.port:指定HTTP服务器的端口。Presto使用HTTP进行内部和外部的所有通信。
query.max-memory:查询可能使用的最大分布式内存量。
query.max-memory-per-node:查询可在任何一台计算机上使用的最大用户内存量。
query.max-total-memory-per-node:查询可在任何一台计算机上使用的最大用户和系统内存量,其中系统内存是读取器,写入程序和网络缓冲区等执行期间使用的内存。
discovery-server.enabled:Presto使用Discovery服务查找群集中的所有节点。每个Presto实例都会在启动时使用Discovery服务注册自己。为了简化部署并避免运行其他服务,Presto协调器可以运行Discovery服务的嵌入式版本。它与Presto共享HTTP服务器,因此使用相同的端口。
discovery.uri:Discovery服务器的URI。因为我们在Presto协调器中启用了Discovery的嵌入式版本,所以它应该是Presto协调器的URI。替换example.net:8080以匹配Presto协调器的主机和端口。此URI不得以斜杠结尾。
7、编辑log.properties文件
这将 com.facebook.presto.server和com.facebook.presto.hive设置为最低级别。默认的最低级别是INFO (因此上面的示例实际上并没有改变任何东西)。共有四个级别:DEBUG,INFO,WARN和ERROR。
com.facebook.presto = INFO
8、创建目录属性文件(数据源)
8.1创建etc/catalog文件夹
8.2 catalog下创建相应配置文件(https://prestodb.io/docs/current/connector.html)
例:mysql.properties
connector.name=mysql
connection-url=jdbc:mysql://10.13.203.60:3306
connection-user=root
connection-password=123456
9、运行
bin/launcher start
启动后,您可以在var/log以下位置找到日志文件:
launcher.log | 此日志由启动程序创建,并连接到服务器的stdout和stderr流。它将包含初始化服务器日志记录时发生的一些日志消息以及JVM生成的任何错误或诊断信息。 |
server.log | 这是Presto使用的主日志文件。如果服务器在初始化期间出现故障,它通常会包含相关信息。它会自动旋转和压缩。 |
http-request.log | 这是HTTP请求日志,其中包含服务器收到的每个HTTP请求。它会自动旋转和压缩。 |
可访问http://192.168.85.129:8081在线查看部分信息 (虚拟机需要关闭防火墙)
10、命令行jar报启动
10.1 将cli包添加执行权限
chmod +x presto-cli-0.242.1-executable.jar
10.2 运行jar包
./presto-cli-0.242.1-executable.jar --server 192.168.85.129:8081 --catalog mysql --schema default
# 查看连接的数据源
show catalogs;
#查看 mysql 中的库
show schemas from mysql;
#查询 Hive
select * from hive.default.student limit 1;
#查询 mysql
select * from mysql.test.maxwell_test limit 1;
SELECT id FROM mysql.risk_rap.rap_dataset;
SELECT count(s.id) FROM mysql.risk_rap.rap_dataset s CROSS join mysql.world.city;