• hadoop--presto安装部署


    系统环境:hadoop + hive已经配置完成

    1、下载presto:https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.167/presto-server-0.167.tar.gz

    2、解压安装

    #   tar -zxvf presto-server-0.167.tar.gz -C /usr/local/

    /usr/local/presto-server-0.167则为安装目录,另外Presto还需要数据目录,数据目录最好不要在安装目录里面,方便后面Presto的版本升级。

    3、配置presto

    在安装目录里创建etc目录。这目录会有以下配置(自己创建):

        结点属性(Node Properties):每个结点的环境配置

        JVM配置(JVM Config):Java虚拟机的命令行选项

        配置属性(Config Properties):Persto server的配置

        Catelog属性(Catalog Properties):配置Connector(数据源)

    (1)结点属性(Node Properties)

           结点属性文件etc/node.properties,包含每个结点的配置。一个结点是一个Presto实例。这文件一般是在Presto第一次安装时创建的。以下是最小配置:

    node.environment=production

    node.id=ffffffff-ffff-ffff-ffff-ffffffffffff

    node.data-dir=/var/presto/data

    解释:

    node.environment: 环境名字,Presto集群中的结点的环境名字都必须是一样的。

    node.id: 唯一标识,每个结点的标识都必须是为一的。就算重启或升级Presto都必须还保持原来的标识。

    node.data-dir: 数据目录,Presto用它来保存log和其他数据

    eg:

    node.environment=production

    node.id=master-presto-coordinator

    node.data-dir=/usr/local/presto-server-0.167/data             #data需要自己手动创建

    (2)JVM配置(JVM Config)

             JVM配置文件etc/jvm.config,包含启动Java虚拟机时的命令行选项。格式是每一行是一个命令行选项。此文件数据是由shell解析,所以选项中包含空格或特殊字符会被忽略。 

             以下是参考配置:

    -server

    -Xmx16G

    -XX:+UseG1GC

    -XX:G1HeapRegionSize=32M

    -XX:+UseGCOverheadLimit

    -XX:+ExplicitGCInvokesConcurrent

    -XX:+HeapDumpOnOutOfMemoryError

    -XX:+ExitOnOutOfMemoryError

    备注:以上参数都是官网参数,实际环境需要调整

    (3)配置属性(Config Properties)

            配置属性文件etc/config.properties,包含Presto server的配置。Presto server可以同时为coordinator和worker,但一个大集群里最好就是只指定一台机器为coordinator。

            以下是coordinator的最小配置:

    coordinator=true

    node-scheduler.include-coordinator=false

    http-server.http.port=8080

    query.max-memory=50GB

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

    discovery-server.enabled=true

    discovery.uri=http://example.net:8080

    以下是worker的最小配置:

    coordinator=false

    http-server.http.port=8080

    query.max-memory=50GB

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

    discovery.uri=http://example.net:8080

    如果适用于测试目的,需要将一台机器同时配置为coordinator和worker,则使用以下配置:

    coordinator=true

    node-scheduler.include-coordinator=true

    http-server.http.port=8080

    query.max-memory=5GB

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

    discovery-server.enabled=true

    discovery.uri=http://example.net:8080

     解释:

    coordinator: 是否运行该实例为coordinator(接受client的查询和管理查询执行)。
    node-scheduler.include-coordinator:coordinator是否也作为work。对于大型集群来说,在coordinator里做worker的工作会影响查询性能。
    http-server.http.port:指定HTTP端口。Presto使用HTTP来与外部和内部进行交流。
    query.max-memory: 查询能用到的最大总内存
    query.max-memory-per-node: 查询能用到的最大单结点内存
    discovery-server.enabled: Presto使用Discovery服务去找到集群中的所有结点。每个Presto实例在启动时都会在Discovery服务里注册。这样可以简化部署,不需要额外的服务,Presto的coordinator内置一个Discovery服务。也是使用HTTP端口。
    discovery.uri: Discovery服务的URI。将example.net:8080替换为coordinator的host和端口。这个URI不能以斜杠结尾,这个错误需特别注意,不然会报404错误。

    另外还有以下属性:
    jmx.rmiregistry.port: 指定JMX RMI的注册。JMX client可以连接此端口
    jmx.rmiserver.port: 指定JXM RMI的服务器。可通过JMX监听。

    eg:server配置

    coordinator=true
    node-scheduler.include-coordinator=false
    datasources=jmx,hive
    http-server.http.port=8880
    query.max-memory=1GB
    query.max-memory-per-node=512MB
    discovery-server.enabled=true
    discovery.uri=http://172.20.1.1:8880

    client配置

    coordinator=false
    http-server.http.port=8880
    query.max-memory=1GB
    query.max-memory-per-node=512MB
    discovery-server.enabled = true
    discovery.uri=http://172.20.1.1:8880

    (4)日志级别

    创建文件log.properties
    填入内容:
    com.facebook.presto=INFO
    备注:日志级别有四种,DEBUG, INFO, WARN and ERROR

    (5)连接设置

    这里只说一下hive的,其实官网写的很清楚,如果有用到其他的,可以点一下官网连接:https://prestodb.io/docs/current/connector.html
    hive connector配置如下:
      a、创建存放链接配置文件的文件夹,在之前etc目录下创建catalog
      b、放入一个jmx的配置文件,jmx.properties,配置内容:connector.name=jmx (通过jmx管理connector)
      c、配置一个hive connector的配制文件,hive.properties,内容如下:

    在etc目录下创建catalog目录

    #  mkdir catalog

    # cd catalog

    # touch hive.properties
    connector.name=hive-hadoop2 #取个连接名
    hive.metastore.uri=thrift://172.20.1.1:9083 #配置metastore连接
    hive.config.resources=/usr/local/hadoop-2.9.1/conf/core-site.xml,/usr/local/hadoop-2.9.1/conf/hdfs-site.xml #指明hadoop的配置文件,主要是设计hdfs
    hive.allow-drop-table=true #给删表权限
    其他配置如下可参考官网:https://prestodb.io/docs/current/connector/hive.html https://prestodb.io/docs/current/connector/hive-security.html

    eg:

    (6)

    这些都配置好后,就要启动presto,步骤如下:
    a、在bin目录下启动服务:bin/launcher start bin/launcher start

    b、命令行启动:下载启动jar包:presto-cli-0.191-executable.jar,下载链接为: https://repo1.maven.org/maven2/com/facebook/presto/presto-cli/0.191/presto-cli-0.191-executable.jar

    c、下载下来后改个名字为presto,放在bin目录下,然后给个执行权限:chmod +x presto ,
    d、连接hive,并启动:./presto --server localhost:8080 --catalog hive --schema default

    e、如果要关闭presto服务,执行:bin/launcher stop

    借鉴:https://blog.csdn.net/u012551524/article/details/79013194

  • 相关阅读:
    【转贴】SMP、NUMA、MPP体系结构介绍
    【转贴】内存重要参数详解 RAS CAS
    【转贴】内存系列二:深入理解硬件原理
    [百度]将ftp添加到本地映射磁盘的方法
    [百家号]7nm ARM 64核!华为Hi1620高性能CPU公开:3.0GHz
    CISCO系列交换机如何清空配置
    绝对实用 NAT + VLAN +ACL管理企业网络
    思科 vlan 相关操作
    思科路由器的密码忘记了用简单的命令来重置思科路由器密码
    字符串驱动技术—— MethodAddress , MethodName , ObjectInvoke
  • 原文地址:https://www.cnblogs.com/yjt1993/p/10001955.html
Copyright © 2020-2023  润新知