1.说明

1.1 Presto是一个运行在多台服务器上的分布式系统。 完整安装包括一个coordinator(调度节点)和多个worker。 由客户端提交查询,从Presto命令行CLI提交到coordinator。 coordinator进行解析,分析并执行查询计划,然后分发处理队列到worker。

2.机器准备

机器ip --------------- hostname --------------- 职责
192.168.1.200 — node001 ----------------- coordinator
192.168.1.201 — node002 ----------------- worker
192.168.1.202 — node003 ----------------- worker
192.168.1.203 — node004 ----------------- worker

3.presto-server下载

3.1 Presto-server下载地址:https://prestodb.io/docs/current/installation/deployment.html
(一)presto集群安装

4.安装jdk

4.1 查看jdk版本
#java -version(一)presto集群安装

5.安装presto

5.1 在Lunix下创建存放presto地址
#mkdir -p /home/yangqiangguang/installed/presto
(一)presto集群安装
5.2 将下载好的包放入新建的地方
(一)presto集群安装
(一)presto集群安装
5.3 解压安装压缩包到指定目录
#tar -zxvf presto-server-0.198.tar.gz -C /home/yangqiangguang/bigdata/installed/presto
(一)presto集群安装
完成解压:
(一)presto集群安装

6.配置单机presto

6.1 进入文件夹
#cd /home/yangqiangguang/bigdata/installed/presto/presto-server-0.217/
(一)presto集群安装
6.2在该目录下创建etc文件夹
#mkdir etc
(一)presto集群安装
6.3进入etc文件夹创建相应文件
#cd etc/
#touch node.properties jvm.config config.properties log.properties
#mkdir catalog
#touch catalog/jmx.properties
(一)presto集群安装
6.4 文件说明

  1. node.properties:每个节点的环境配置
  2. jvm.config:jvm参数
  3. config.properties:配置Presto Server参数
  4. log.properties:配置日志等级
  5. catalog:Catalog的配置

6.5 配置node.properties
#vim node.properties
(一)presto集群安装
内容:
node.environment=bigdata_presto_cluster
node.id=bigdata_node_coordinator_bigdata1
node.data-dir=/home/yangqiangguang/bigdata/installed/presto/data

解释:

  1. node.environment: 集群名称, 所有在同一个集群中的Presto节点必须拥有相同的集群名称
  2. node.id: 每个Presto节点的唯一标示。每个节点的node.id都必须是唯一的。在Presto进行重启或者升级过程中每个节点的node.id必须保持不变。如果在一个节点上安装多个Presto实例(例如:在同一台机器上安装多个Presto节点),那么每个Presto节点必须拥有唯一的node.id
  3. node.data-dir: 数据存储目录的位置(操作系统上的路径), Presto将会把日期和数据存储在这个目录下
    (一)presto集群安装6.6 配置jvm.config
    #vim jvm.config
    (一)presto集群安装
    内容:
    -server
    -Xmx8G
    -XX:+UseG1GC
    -XX:G1HeapRegionSize=32M
    -XX:+UseGCOverheadLimit
    -XX:+ExplicitGCInvokesConcurrent
    -XX:+HeapDumpOnOutOfMemoryError
    -XX:+ExitOnOutOfMemoryError

(一)presto集群安装

6.7 配置config.properties
config.properties的配置分两种,一种是在coordinator配置,一种是在worker上配置。
先介绍coordinator配置:
#vim config.properties
(一)presto集群安装
内容:
coordinator=true
node-scheduler.include-coordinator=false
http-server.http.port=8089
query.max-memory=8GB
query.max-memory-per-node=1GB
discovery-server.enabled=true
discovery.uri=http://192.168.1.200:8089
(一)presto集群安装
再介绍worker配置:
#vim config.properties
内容:
coordinator=false
http-server.http.port=8089
query.max-memory=8GB
query.max-memory-per-node=1GB
discovery.uri=http://192.168.1.200:8089
(一)presto集群安装
解释:

  1. coordinator:指定是否运维Presto实例作为一个coordinator(接收来自客户端的查询情切管理每个查询的执行过程)
  2. node-scheduler.include-coordinator:是否允许在coordinator服务中进行调度工作, 对于大型的集群,在一个节点上的Presto server即作为coordinator又作为worke将会降低查询性能。因为如果一个服务器作为worker使用,那么大部分的资源都会被worker占用,那么就不会有足够的资源进行关键任务调度、管理和监控查询执行
  3. http-server.http.port:指定HTTP server的端口。Presto 使用 HTTP进行内部和外部的所有通讯
  4. task.max-memory=16GB:一个单独的任务使用的最大内存 (一个查询计划的某个执行部分会在一个特定的节点上执行)。 这个配置参数限制的GROUP BY语句中的Group的数目、JOIN关联中的右关联表的大小、ORDER BY语句中的行数和一个窗口函数中处理的行数。 该参数应该根据并发查询的数量和查询的复杂度进行调整。如果该参数设置的太低,很多查询将不能执行;但是如果设置的太高将会导致JVM把内存耗光
  5. discovery-server.enabled:Presto 通过Discovery 服务来找到集群中所有的节点。为了能够找到集群中所有的节点,每一个Presto实例都会在启动的时候将自己注册到discovery服务。Presto为了简化部署,并且也不想再增加一个新的服务进程,Presto coordinator 可以运行一个内嵌在coordinator 里面的Discovery 服务。这个内嵌的Discovery 服务和Presto共享HTTP server并且使用同样的端口
  6. discovery.uri:Discovery server的URI。由于启用了Presto coordinator内嵌的Discovery 服务,因此这个uri就是Presto coordinator的uri。注意:这个URI一定不能以“/“结尾

6.8 配置log.properties
#vim log.properties
(一)presto集群安装
内容:
com.facebook.presto=INFO

(一)presto集群安装
解释:
这个配置文件中允许你根据不同的日志结构设置不同的日志级别。每个logger都有一个名字(通常是使用logger的类的全标示类名). Loggers通过名字中的“.“来表示层级和集成关系。配置日志等级,类似于log4j。四个等级:DEBUG,INFO,WARN,ERROR

6.9 配置Catalog Properties
#vim catalog/jmx.properties
(一)presto集群安装
内容:
connector.name=jmx
(一)presto集群安装
解释:
通过在etc/catalog目录下创建catalog属性文件来完成catalogs的注册。 例如:可以先创建一个etc/catalog/jmx.properties文件,文件中的内容如下,完成在jmxcatalog上挂载一个jmxconnector

7.配置集群presto

7.1 在6中配置的是主节点coordinator的安装和配置,接下来要堆集群中其他机子也安装上presto,其他节点分别是node002,node003,node004 ,为worker。
ssh无**配置:
ssh-****** #三次回车
远程:ssh-copy-id -i ~/.ssh/id_rsa.pub 192.0.0.1

7.2 配置集群的前提条件是4台机子已经建立了ssh互信,且主机名已经按照前面的要求改为node001,node002,node003,node004。
vim /etc/hostname

7.3 在每个机子上建立文件夹
(一)presto集群安装
(一)presto集群安装
(一)presto集群安装

7.4 进入指定目录:
#cd /home/yangqiangguang/bigdata/installed/presto/
(一)presto集群安装
7.5 将presto整个复制到其他机子上
#scp -r presto-server-0.217 [email protected]:/home/yangqiangguang/bigdata/installed/presto/presto-server-0.217/
(一)presto集群安装
将node003,node004用同样的方法,将程序复制发过去。

7.6 修改node002,node003,node004上的config.properties
以node002为例子:
#cd /home/yangqiangguang/bigdata/installed/presto/presto-server-0.217/etc/
(一)presto集群安装
#vim config.properties

内容:
coordinator=false
http-server.http.port=8089
query.max-memory=8GB
query.max-memory-per-node=1GB
discovery.uri=http://192.168.1.200:8089

(一)presto集群安装
7.7 修改node002,node003,node004上的node.properties
以node002为例子:
#cd /home/yangqiangguang/bigdata/installed/presto/presto-server-0.217/etc/
#vim node.properties

内容:
node.environment=bigdata_presto_cluster
node.id=bigdata_node_coordinator_bigdata2
node.data-dir=/home/yangqiangguang/bigdata/installed/presto/data
(一)presto集群安装

8.启动presto

8.1启动
在node001,node002,node3,node004上分别进入
#cd /home/yangqiangguang/bigdata/installed/presto/presto-server-0.217/bin 中运行如下命令
#launcher start

9.访问presto

启动了3个工作节点和1个调度节点
http://192.168.1.200:8089
(一)presto集群安装

相关文章:

  • 2021-10-02
  • 2021-06-04
  • 2021-11-17
  • 2021-06-21
  • 2018-04-19
  • 2018-06-13
  • 2019-11-14
  • 2021-11-02
猜你喜欢
  • 2021-05-06
  • 2021-06-14
  • 2021-12-30
  • 2021-12-08
  • 2018-05-21
  • 2021-06-18
  • 2021-11-19
相关资源
相似解决方案