[关闭]
@zhangyy 2020-09-27T14:03:06.000000Z 字数 2836 阅读 271

CDH6.3.2 集成presto 的配置与部署

大数据运维专栏

  • 一 : Presto 简介

  • 二:CDH 6.3.2 与presto的集成


一 : Presto 简介

1.1 presto 是什么

  1. Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GBPB字节。
  2. Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。

1.2 它可以做什么?

  1. Presto支持在线数据查询,包括Hive, Cassandra, 关系数据库以及专有数据存储。 一条Presto查询可以将多个数据源的数据进行合并,可以跨越整个组织进行分析。
  2. Presto以分析师的需求作为目标,他们期望响应时间小于1秒到几分钟。 Presto终结了数据分析的两难选择,要么使用速度快的昂贵的商业方案,要么使用消耗大量硬件的慢速的“免费”方案。

1.3 Presto 的 架构

  1. 硬件架构
  2. 大内存、万兆网络、高计算能力
  3. 软件架构
  4. presto 查询引擎是一个Master-Slave的拓扑架构

图片.png-405.9kB

二: 1.4 Presto 与CDH 的集成配置

1.1 presto 下载

  1. 下载prestop工具
  2. wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.99/presto-server-0.99.tar.gz

1.2 presto的部署

  1. CDH 的所有节点上都执行
  2. tar -zxvf presto-server-0.99.tar.gz
  3. mv presto-server-0.99 /opt/cloudera/parcels
  4. cd /opt/cloudera/parcels/
  5. ln -s presto-server-0.99 presto

1.3 编辑配置文件

  1. 在/opt/cloudera/parcels/presto/bin/launcher文件如下位置添加JAVA环境变量
  2. vim /opt/cloudera/parcels/presto/bin/launcher
  3. ---
  4. export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
  5. export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
  6. PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
  7. ----

1.4 准备Presto的配置文件

  1. 1.新建node.properties文件,内容如下:
  2. mkdir /root/presto-etc
  3. mkdir -p /data/disk1/
  4. cd /root/presto-etc
  5. vim etc/node.properties
  6. ----
  7. node.environment=flyfishpresto
  8. node.id=presto-test01
  9. node.data-dir=/data/disk1/prestonode.environment=flyfishpresto
  10. node.id=presto-test01
  11. node.data-dir=/data/disk1/presto
  12. ---

1.5 配置Presto 运行的jvm 参数

  1. 配置PrestoJVM参数,创建jvm.config文件,内容如下:
  2. vim jvm.config
  3. ---
  4. -server
  5. -Xmx10G
  6. -XX:+UseConcMarkSweepGC
  7. -XX:+ExplicitGCInvokesConcurrent
  8. -XX:+CMSClassUnloadingEnabled
  9. -XX:+AggressiveOpts
  10. -XX:+HeapDumpOnOutOfMemoryError
  11. -XX:OnOutOfMemoryError=kill -9 %p
  12. -XX:ReservedCodeCacheSize=200M
  13. -----

1.6 创建config.properties文件

  1. vim coordinator-config.properties
  2. ----
  3. coordinator=true
  4. node-scheduler.include-coordinator=false
  5. http-server.http.port=9090
  6. query.max-memory=4GB
  7. query.max-memory-per-node=1GB
  8. discovery-server.enabled=true
  9. discovery.uri=http://192.168.11.37:9090
  10. ----

1.7 worker节点的配置如下:

  1. vim worker-config.properties
  2. -----
  3. coordinator=false
  4. http-server.http.port=8080
  5. query.max-memory=4GB
  6. query.max-memory-per-node=1GB
  7. discovery.uri=http://192.168.11.37:8080
  8. ----

1.8 日志文件的级别配置

  1. vim log.properties
  2. ----
  3. com.facebook.presto=INFO
  4. -----

1.9 分发文件

  1. 所有节点执行:
  2. mkdir -p /opt/cloudera/parcels/presto/etc
  3. scp node.properties root@192.168.11.38:/opt/cloudera/parcels/presto/etc/
  4. scp node.properties root@192.168.11.40:/opt/cloudera/parcels/presto/etc/

  1. 准备master 节点的 配置文件
  2. 192.168.11.37 节点:
  3. coordinator-config.properties并充命名为config.properties
  4. cp coordinator-config.properties /opt/cloudera/parcels/presto/etc/config.properties
  5. worker-config.properties 复制到work 节点 /opt/cloudera/parcels/presto/etc/ 下面
  6. scp worker-config.properties root@192.168.11.38:/opt/cloudera/parcels/presto/etc/
  7. scp worker-config.properties root@192.168.11.40:/opt/cloudera/parcels/presto/etc/
  8. 登录到 192.168.11.38 192.168.11.40 上面
  9. cd /opt/cloudera/parcels/presto/etc/
  10. mv worker-config.properties config.properties
  11. 完成presto 的配置

1.8 启动presto

  1. Presto集群的所有节点执行如下命令启动Presto服务
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注