Persto搭建部署(亲测可用)

  • Post author:
  • Post category:其他




1.简介

jdk1.8支持persto-server-315及一下版本,315以上的版本需要jdk11.

本文使用jdk1.8并以persto-server-315作为示例。



2.安装包下载

  • 服务端

    https://repo1.maven.org/maven2/io/prestosql/presto-server/315/presto-server-315.tar.gz

  • 执行客户端

    https://repo1.maven.org/maven2/io/prestosql/presto-cli/315/presto-cli-315-executabl e.jar



3.配置



3.1.安装配置

  1. 将 presto-server-315.tar.gz 上传到服务器上,这里导入到 10.72.227.188 服务器上的 /opt/persto/目录下,并解压至 /persto/server/目录下

#tar -zvxf presto-server-315.tar.gz -C /persto/server/

  1. 创建persto数据目录(如果集群部署则每个节点都需要创建),用来存储log等文件

#mkdir -p /pub/presto

  1. 创建etc配置文件目录:在/opt/persto/server/presto-server-315目录下创建etc目录,用来存放persto所需的配置文件

[root@host-7 presto-server-315]# mkdir etc



3.2.server配置

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



3.2.1.node配置

etc下新建node.properties配置文件。

#环境名称,自己任取.集群中的所有 Presto 节点必须具有相同的环境名称.

node.environment=test

#支持字母,数字.对于每个节点,这必须是唯一的.这个标识符应该在重新启动或升级 Presto 时保持一致

node.id=1

#指定 presto 的日志和其它数据的存储目录,自己创建前面创建好的数据目录node.data-dir=/pub/persto



3.2.2.jvm配置

etc下新建jvm.config配置文件。参考官方给的配置,根据自身机器实际内存进行配置。

-server

#最大 jvm 内存

-Xmx16G

#指定 GC 的策略

-XX:+UseG1GC

-XX:G1HeapRegionSize=32M

-XX:+UseGCOverheadLimit

-XX:+ExplicitGCInvokesConcurrent

-XX:+HeapDumpOnOutOfMemoryError

-XX:+ExitOnOutOfMemoryError

-XX:ReservedCodeCacheSize=256M



3.2.3.config配置

#该节点是否作为 coordinator,如果是 true 就允许该 Presto 实例充当协调coordinator=true

#是否允许在协调器上调度工作(单节点为true,多节点为false)

node-scheduler.include-coordinator=false

#指定 HTTP 服务器的端口.Presto 使用 HTTP 进行所有内部和外部通信http-server.http.port=8080

#每个查询可以使用的最大分布式内存量

query.max-memory=50GB

#查询可在任何一台计算机上使用的最大用户内存量

query.max-memory-per-node=1GB

#查询可在任何一台计算机上使用的最大用户和系统内存量,其中系统内存是读取器,写入器和网络缓冲区等在执行期间使用的内存query.max-total-memory-per-node=2GB

#discover-server 是 coordinator 内置的服务,负责监听

workerdiscovery-server.enabled=true

#发现服务器的 URI.因为已经在 Presto 协调器中启用了 discovery,所以这应该是 Presto 协调器的 URI

discovery.uri=http://node01:8080



3.2.4.log配置

etc下新建log.properties配置文件。

com.facebook.presto=INFO



3.2.5.启动

#bin/launcher start

  • 在3.2.1中的node.data-dir配置的目录中查看启动日志确定persto服务是否启动成功
  • 使用jps命令查看PrestoServer是否存在
  • 通过ip:端口的方式访问到 presto 的 webui 界面



3.3.执行客户端配置

  • 将 presto-cli-315-executable.jar 上传至服务器,放在persto-server解压目录的bin目录下
  • 修改jar包名称为persto-cli

    #mv presto-cli-315-executable.jar presto-cli

  • 且给问价增加执行权限

    #chmod +x presto-cli

**使用:**连接具体的数据库

[root@node01 bin]$ ./presto –server node01:8080 –catalog hive (可选)–schema test (可选)–user xiaobai (可选)



3.4.catalog配置



3.4.1.mysql connector配置

etc目录下新建catalog目录。

#设置MySQL连接名称

connector.name=mysql

#设置MySQL连接地址

connection-url=jdbc:mysql://localhost:3306?characterEncoding=utf8&serverTimezone=UTC

#设置MySQL登录用户

connection-user=*****

#设置MySQL登录密码

connection-password=********



3.4.2.hive connector配置

新建hive.properties并添加配置(带kerberos认证)。


注意:


hive-hadoop2需要将hadoop的lzo包放到其插件下解决Unable to create input format org.apache.hadoop.mapred.TextInputFormat的问题。

connector.name=hive-hadoop2

hive.metastore.uri=thrift://host-2:9083

hive.metastore.authentication.type=KERBEROS

hive.metastore.service.principal=hive/_HOST@HYCLUSTER.COM

hive.metastore.client.principal=admin@HYCLUSTER.COM

hive.metastore.client.keytab=/

/

/admin.keytab

hive.hdfs.authentication.type=KERBEROS

#hive.hdfs.impersonation.enabled=true

hive.hdfs.presto.principal=admin@HYCLUSTER.COM

hive.hdfs.presto.keytab=/

/

/admin.keytab

hive.config.resources=/

/

/core-site.xml, /

/

/hdfs-site.xml



版权声明:本文为qq_35754073原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。