在Centos7上进行Presto 0.272的集群安装部署

1. 集群规划

主机名服务
bigdata001coordinator
bigdata002worker
bigdata003worker

2. 下载解压

在3台服务器上进行安装包下载,然后进行解压,再创建配置文件目录

[root@bigdata001 opt]# 
[root@bigdata001 opt]# wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.272/presto-server-0.272.tar.gz
[root@bigdata001 opt]# 
[root@bigdata001 opt]# tar -zxvf presto-server-0.272.tar.gz
[root@bigdata001 opt]#
[root@bigdata001 opt]# cd presto-server-0.272
[root@bigdata001 presto-server-0.272]#
[root@bigdata001 presto-server-0.272]# mkdir etc
[root@bigdata001 presto-server-0.272]#
[root@bigdata001 presto-server-0.272]# cd etc/
[root@bigdata001 etc]#

3. 配置文件

3.1 服务器配置etc/config.properties

coordinator的配置如下:

[root@bigdata001 etc]#
[root@bigdata001 etc]# cat config.properties 
# 该节点是否作为coordinator
coordinator=true
# coordinator是否同时作为worker节点
node-scheduler.include-coordinator=false
# http连接端口
http-server.http.port=8080
# 所有节点查询可以使用的最大内存和
query.max-memory=3GB
# 单个节点查询可以使用的最大用户内存
query.max-memory-per-node=512MB
# 单个节点查询可以使用的最大用户内存 + 系统内存。系统内存用于readers、writers和network buffers
query.max-total-memory-per-node=1GB
# 是否让服务器作为discovery server
discovery-server.enabled=true
# 服务发现的地址
discovery.uri=http://bigdata001:8080

[root@bigdata001 etc]#

worker的配置如下,所以worker的配置需要一模一样

[root@bigdata002 etc]# 
[root@bigdata002 etc]# cat config.properties 
coordinator=false
http-server.http.port=8077
query.max-memory=1GB
query.max-memory-per-node=256MB
query.max-total-memory-per-node=512MB
discovery.uri=http://bigdata001:8077

[root@bigdata002 etc]#

3.2 节点配置etc/node.properties

每个节点的node.id参数必须不一样

[root@bigdata001 etc]# 
[root@bigdata001 etc]# cat node.properties 
# 集群所有节点环境名称必须一样
node.environment=presto_cluster
# UUID, 36个16进制数字, 每个节点的都不一样, 默认随机生成, 设置固定值在集群升级时可以保持和原来的一致
node.id=a49c04c9-6642-11ec-acff-30d042079a38
# 日志文件和数据文件储存目录
node.data-dir=/opt/presto-server-0.272/var

[root@bigdata001 etc]#

3.3 JVM配置etc/jvm.config

每个节点根据实际情况进行配置

[root@bigdata001 etc]# 
[root@bigdata001 etc]# cat jvm.config 
-server						
-Xmx1G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-Djdk.nio.maxCachedBufferSize=2000000
-Djdk.attach.allowAttachSelf=true

[root@bigdata001 etc]# 

OutOfMemoryError会使JVM进入不一致状态,所以需要进行堆转储(heap dump)并强制退出,以便调试

3.4 日志配置etc/logging.properties

每个节点根据实际情况进行配置

[root@bigdata001 etc]#
[root@bigdata001 etc]# cat logging.properties 
# 设置io.presto包的所有类(包括嵌套包的类, 如io.presto.spi.connector)的日志输出级别
io.presto=INFO
# 参数还可以设置为: DEBUG、ERROR
io.presto.plugin.mysql=WARN

[root@bigdata001 etc]#

4. 启动

启动顺序为先启动coordinator,再启动worker

[root@bigdata001 presto-server-0.272]# bin/launcher start
Started as 25730
[root@bigdata001 presto-server-0.272]# 
[root@bigdata001 presto-server-0.272]# cat var/var/log/server.log | grep 'SERVER STARTED'
2022-04-18T11:43:59.664+0800	INFO	main	com.facebook.presto.server.PrestoServer	======== SERVER STARTED ========
[root@bigdata001 presto-server-0.272]#
[root@bigdata001 presto-server-0.272]# bin/launcher status
Running as 25730
[root@bigdata001 presto-server-0.272]#

使用bin/launcher run让进程前台运行,日志直接输出在控制台

5. 关闭

[root@bigdata001 presto-server-0.272]# bin/launcher stop
Stopped 25730
[root@bigdata001 presto-server-0.272]#

也可以用bin/launcher kill杀掉进程

6. 查看Web UI

打开http://bigdata001:8080,显示如下:
Web UI

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
版本presto-server-0.214.tar软件版本 presto-cli-0.214-executableCentOS71、presto的起因 hadoop ---hdfs----MR(java)-----hivehive底层原理用MR,速度比较慢,公司hadoop集群主要集中于晚上到凌晨,平日工作时间负载不是很高。但在工作时间内,公司业务人员有实时查询的需求,现在主要借助于hive提供业务人员的查询。hive是基于MR类的SQL查询工具,他会输入的查询SQL解析为MapReduce,能极大的降低使用大数据门槛,让一般的业务人员可以直接准对大数据进行查询,但是有一个利弊,它的查询基于MR,会让人等待比较着急,等待的时间可能是几个小时或者一天。 spark基于内存提高改良的hive,sql,现在factbook在hive上面开发一套利器,准对hive可以通过sql语句快速查询,presto。2、Facebook为何开发Presto  Facebook的2011的数据仓库存储在少量大型hadoopfs集群,Hive是FaceBook在几年前专门为Hadoop打造的一款数据仓库工具,在以前,facebook的科学家和分析师一直靠hive进行数据分析.但hive使用MR作为底层计算框架,是专为批处理设计的,但是随着数据的不断增多,使用hive进行一个简单的数据查询可能要花费分钟或者几个小时,显然不能满足查询需求,FaceBooke也调研了其他比hive更快的工具,但是他们需要在功能有限的条件下做简单操作,以至于无法操作Facebook庞大的数据要求。2012年开始研究自己的框架--presto,每日可以超过1pb查询,而且速度比较快,faceBook声称Presto的性能比hive要好上10倍或者100倍,presto和hive都是facebook开发的 Presto是一个开源的分布式SQL查询引擎,适用于交互式查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决Facebook这样规模的商业数据仓库交互式分析和处理速度的问题Presto可以做什么 Presto支持在线数据查询,包括Hive kafka Cassandra关系数据库以及专门数据存储,一条Presto查询可以将多个数据源进行合并,可以跨越整个组织进行分析。Presto以分析师的需求作为目标,他们期望相应速度小于1秒到几分钟,Presto要么在使用速度的快的昂贵的商业方案,提高内存,要么是消耗大量的硬件进行快速查询。(128G 64G)本套课程教给如何在企业环境中使用Presto技术。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值