zoukankan      html  css  js  c++  java
  • Presto 0.22.0 安装记录

    1. 下载 & 解压

    # 下载
    wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.220/presto-server-0.220.tar.gz
    
    # 移动到要安装目录
    mv presto-server-0.220.tar.gz /opt/
    
    # 解压
    tar zxvf presto-server-0.220.tar.gz
    
    # 软链
    ln -s presto-server-0.220 presto
    

    2. 配置

    如无特殊说明,则每台机器均需要配置

    2.1 新建 etc 文件夹

    cd prosto
    
    mkdir etc
    

    2.2 配置 node.properties

    配置说明:

    • node.environment
      • 集群名称
      • 所有在同一个集群中的Presto节点必须拥有相同的集群名称
    • node.id
      • 每个Presto节点的唯一标示
      • 每个节点的node.id都必须是唯一的
      • 在Presto进行重启或者升级过程中每个节点的node.id必须保持不变
      • 如果在一个节点上安装多个Presto实例,那么每个Presto节点必须拥有唯一的node.id
    • node.data-dir
      • 数据存储目录的位置(操作系统上的路径)
      • Presto将会把日期和数据存储在这个目录下

    详细配置如下:

    vim etc/node.properties
    
    # 增加如下内容
    node.environment=presto-cluster
    node.id=presto-node-1
    node.data-dir=/data/presto
    

    2.3 配置 config.properties

    所有节点均需要此配置,但coordinator和worker不一样

    配置说明:

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

    coordinator节点的详细配置如下:

    vim etc/config.properties
    
    # 增加如下内容
    coordinator=true
    node-scheduler.include-coordinator=true
    http-server.http.port=8081
    query.max-memory=8GB
    query.max-memory-per-node=1GB
    discovery-server.enabled=true
    discovery.uri=http://192.168.30.217:8081
    

    worker节点的详细配置如下:

    vim etc/config.properties
    
    # 增加如下内容
    coordinator=false
    http-server.http.port=8081
    query.max-memory=8GB
    query.max-memory-per-node=1GB
    discovery.uri=http://192.168.30.217:8081
    

    2.4 配置 log.properties

    • 日志级别:DEBUG、INFO、WARN、ERROR
    vim log.properties
    
    # 增加如下内容
    com.facebook.presto=INFO
    

    2.5 配置 hive.properties

    配置说明

    • connector.name
      • 连接器名称
      • 不能乱起名,hive必须带上版本号,如:如hive-hadoop2
      • hive连接器支持Apache Hadoop 2.x和衍生分布包括Cloudera cdh5和Hortonworks Data Platform (HDP)
    • hive.metastore.uri
      • 需要与hive的metastore地址和端口对应
      • CDH的在/etc/hive/conf/hive-site.xml
    • hive.config.resources
      • 必须与hadoop集群的配置路径对应
      • CDH的在/etc/hadoop/conf路径下

    详细配置如下:

    mkdir etc/catalog 
    cd ./catalog 
    vim hive.properties
    
    # 增加如下内容
    connector.name=hive-hadoop2
    hive.metastore.uri=thrift://hadoop1:9083
    hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/conf/hdfs-site.xml
    

    2.6 配置 jvm.config

    vim etc/jvm.config
    
    # 增加如下内容
    -server 
    -Xmx8G
    -XX:+UseConcMarkSweepGC 
    -XX:+ExplicitGCInvokesConcurrent 
    -XX:+CMSClassUnloadingEnabled 
    -XX:+AggressiveOpts 
    -XX:+HeapDumpOnOutOfMemoryError 
    -XX:OnOutOfMemoryError=kill -9 %p 
    -XX:ReservedCodeCacheSize=300M
    

    2.7 运行

    # daemon运行
    bin/launcher start
    
    # foreground运行,如果用到supersive运行的话需要是这种方式
    bin/launcher run
    
    # 停止
    bin/launcher stop
    
    # 查看状态
    bin/launcher status
    
    # 查看进程
    jps
    

    3. Presto CLI

    3.1 下载

    # 下载
    wget https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.220/presto-cli-0.220-executable.jar
    
    # 重命名
    mv presto-cli-0.220-executable.jar presto-cli
    
    # 添加执行权限
    chmod +x presto-cli
    

    3.2 运行

    # 指定数据库
    ./presto-cli --server 10.240.0.8:8081 --catalog hive --schema default
    
    # 不指定数据库
    ./presto-cli --server 10.240.0.8:8081 --catalog hive
    

    运行结果如下,即为成功(因为我的库里没有表所以为空):

    参考
    1. https://blog.csdn.net/zzq900503/article/details/79403949
    2. http://www.voidcn.com/article/p-thrvtmvf-bqm.html
    3. https://blog.csdn.net/joomlaer/article/details/45889759
    4. https://www.cnblogs.com/sorco/p/7060166.html
    5. https://blog.csdn.net/cakexuexi/article/details/80820170
    Souviens Toi Que Tu Vas Mourir !
  • 相关阅读:
    在ant编译java文件时产生debug信息
    Ant里面神奇的fork
    在ant中将依赖jar包一并打包的方法
    Java通过class文件得到所在jar包
    Bat脚本:通过端口号查找进程号
    使用emma时遇到的一些问题
    python之路-day18-反射
    python之路-day17-类与类之间的关系
    python之路-day16-类的成员
    python之路-day15-初识面向对象
  • 原文地址:https://www.cnblogs.com/remainsu/p/presto-0220-an-zhuang-ji-lu.html
Copyright © 2011-2022 走看看