参考文档:https://prestodb.io/docs/current/installation/deployment.html
部署
1、下载安装包
去presto官网 https://prestodb.io/ 下载tar包,然后传到服务器上解压
2、配置相应配置文件
在presto安装目录下面创建etc目录,进入etc目录下,创建一下配置文件
- 1、node.properties
node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/var/presto/data
node.environment 环境名称。群集中的所有Presto节点必须具有相同的环境名称。
node.id 唯一的标识符 每个节点的node.id 需要不一样
node.data-dir 数据目录的位置。Presto将在此处存储日志和其他数据。
- 2、jvm.config
用于启动Java虚拟机的命令行选项列表。文件的格式是选项列表,每行一个,这块我直接复制官网的示例,没啥好讲这一块
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
- 3、config.properties
Presto服务器的配置。每台Presto服务器都可以充当协调器和工作器。但是专用于一台计算机仅执行协调工作的服务器可以在较大的群集上提供最佳性能。
coordinator相关配置
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://example.net:8080
worker的相关配置
coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery.uri=http://example.net:8080
如果设置一台机器来进行测试,使其既可以充当coordinator ,也可以充当worker,使用一下配置
coordinator=true
node-scheduler.include-coordinator=true
http-server.http.port=8080
query.max-memory=5GB
query.max-memory-per-node=1GB
query.max-total-memory-per-node=2GB
discovery-server.enabled=true
discovery.uri=http://example.net:8080
(这些配置都是在官网直接配置得来,这个配置下就可以,也不难)
- 4、catalog目录,目录下propeties文件(每个connector的配置),这个后续讲
启动
其实这里还有各种connector需要讲解,毕竟你需要连接source 源才能进行计算等操作,这一块后续分出来讲
测试模式
一开始我用的测试模式,直接修改下上述的配置 然后
bin/launcher run
启动即可,这块讲一下 bin/launcher run 和 bin/launcher start 的区别
bin/launcher start 作为守护进程,其实也相当于放到了后台,
bin/launcher run 则是将日志写到了控制台
集群模式
集群模式的时候,注意的点就是node.id 不要相同 。node.environment的值相同。
然后再启动的时候,是先启动coordinator,然后再分别启动worker,原理一想也应该是coordinator启动后暴露服务,然后worker启动后注册这样的机制。
当时在这里耽误了些时间,以为只要启动coordinator就好了。其实不是,worker节点也都需要启动。
验证
怎么验证是否启动起来呢 presto有自带的页面 使用 discovery.uri 的配置即可看到相应的页面,上面有启动的一些基本信息以及活跃的节点信息等。如下图所示