Presto安装

官网下载安装包

–https://prestodb.io/getting-started/
– presto-server-0.286.tar.gz
–上传到指定目录

  • 解压
tar -zvxf presto-server-0.286.tar.gz
mv presto-server-0.286/ /opt/module/
rm -rf presto-server-0.286.tar.gz

server配置

persto-server启动需要node.properties、jvm.config、config.properties、log.properties以及连接数据源catalog配置(以下所有的配置都在etc目录下)

  • 创建目录
mkdir etc # 用来存放配置文件
mkdir data # 用于存放日志和其他数据文件
etc下新建node.properties配置文件
vim node.properties

#环境名称,自己任取.集群中的所有 Presto 节点必须具有相同的环境名称.
node.environment=production
#支持字母,数字.对于每个节点,这必须是唯一的.这个标识符应该在重新启动或升级 Presto 时保持一致
node.id=1
#指定 presto 的日志和其它数据的存储目录,自己创建前面创建好的数据目录
node.data-dir=/opt/module/presto-server-0.286/data
新建jvm.config配置文件
vim jvm.config

-server
#最大 jvm 内存
-Xmx8G #根据本地内存进行设置
#指定 GC 的策略
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError
-XX:ReservedCodeCacheSize=256M
创建config.properties
vim config.properties

#该节点是否作为 coordinator,如果是 true 就允许该 Presto 实例充当协调
coordinator=true
#是否允许在协调器上调度工作(单节点为true,多节点为false)
node-scheduler.include-coordinator=true
#指定 HTTP 服务器的端口.Presto 使用 HTTP 进行所有内部和外部通信
http-server.http.port=8088
#每个查询可以使用的最大分布式内存量
query.max-memory=8GB
#查询可在任何一台计算机上使用的最大用户内存量
query.max-memory-per-node=1GB
#查询可在任何一台计算机上使用的最大用户和系统内存量,其中系统内存是读取器,写入器和网络缓冲区等在执行期间使用的内存
query.max-total-memory-per-node=2GB
#discover-server 是 coordinator 内置的服务,负责监听
discovery-server.enabled=true
#发现服务器的 URI.因为已经在 Presto 协调器中启用了 discovery,所以这应该是 Presto 协调器的 URI
discovery.uri=http://hadoop102:8088
日志级别配置文件
vim log.properties

com.facebook.presto = INFO

分发到另外两个节点并修改配置

xsync presto-server-0.286/
# hadoop103(hadoop104也同理修改)
vim node.properties
node.id=2 #根据节点修改

vim config.properties
# 修改以下3点
coordinator=false
#node-scheduler.include-coordinator=true
#workerdiscovery-server.enabled=true

连接配置

etc目录下

mkdir catalog
hive配置
# 将hive的配置文件复制一份到hadoop下
cp /opt/module/hive/conf/hive-site.xml /opt/module/hadoop-3.1.3/etc/hadoop/

vim hive.properties

connector.name=hive-hadoop2
hive.metastore.uri=thrift://hadoop102:9083
hive.config.resources=/opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml,/opt/module/hadoop-3.1.3/etc/hadoop/hive-site.xml,/opt/module/hadoop-3.1.3/etc/hadoop/hdfs-site.xml
MySQL配置
vim mysql.properties

#设置MySQL连接名称
connector.name=mysql
#设置MySQL连接地址
connection-url=jdbc:mysql://hadoop102:3306?characterEncoding=utf8&serverTimezone=UTC
#设置MySQL登录用户
connection-user=root
#设置MySQL登录密码
connection-password=000000
将配置分发到其他节点
xsync catalog/

启动

bin/launcher start #是用于在后台启动应用程序的命令
bin/launcher run #是用于在前台启动应用程序的命令

bin/launcher stop
  • 查看是否启动成功
日志文件
进程 ps aux | grep presto
http://hadoop102:8088/ui/

问题记录

  • 启动问题一:
errors:
1) Error: Invalid configuration property node.environment: is malformed (for class com.facebook.airlift.node.NodeConfig.environment)

2) Configuration property 'server.http.port' was not used
  at com.facebook.airlift.bootstrap.Bootstrap.lambda$initialize$2(Bootstrap.java:244)

3) Configuration property 'workerdiscovery-server.enabled' was not used
  at com.facebook.airlift.bootstrap.Bootstrap.lambda$initialize$2(Bootstrap.java:244)

3 errors
com.google.inject.CreationException: Unable to create injector, see the following errors:

1) Error: Invalid configuration property node.environment: is malformed (for class com.facebook.airlift.node.NodeConfig.environment)

2) Configuration property 'server.http.port' was not used
  at com.facebook.airlift.bootstrap.Bootstrap.lambda$initialize$2(Bootstrap.java:244)

3) Configuration property 'workerdiscovery-server.enabled' was not used
  at com.facebook.airlift.bootstrap.Bootstrap.lambda$initialize$2(Bootstrap.java:244)

3 errors
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:543)
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:159)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
	at com.google.inject.Guice.createInjector(Guice.java:87)
	at com.facebook.airlift.bootstrap.Bootstrap.initialize(Bootstrap.java:251)
	at com.facebook.presto.server.PrestoServer.run(PrestoServer.java:143)
	at com.facebook.presto.server.PrestoServer.main(PrestoServer.java:85)
  • (2)‘server.http.port’

  • 原因:port名称不全
    在这里插入图片描述

  • (3)workerdiscovery-server.enabled
    修改配置文件为discovery-server.enabled

  • 启动问题二:

(base) [link999@hadoop102 presto-server-0.286]$ bin/launcher start
ERROR: [Errno 13] Permission denied: '/opt/module/presto-server-0.286/data/var/run/launcher.pid'

修改文件夹的用户和组,及权限

[root@hadoop102 presto-server-0.286]# chown -R link999:link999 /opt/module/presto-server-0.286/data

[root@hadoop102 presto-server-0.286]# chmod 777 /opt/module/presto-server-0.286/data
  • 问题三:
  • 有时候修改配置文件重新启动前,可以删掉var文件夹
    在这里插入图片描述

参考

https://blog.csdn.net/qq_35754073/article/details/131536827
https://blog.csdn.net/weixin_42412601/article/details/112595357
https://zhuanlan.zhihu.com/p/587906011?utm_id=0

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值