热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

presto环境搭建

1、环境准备支持操作系统:LinuxorMacOSXJava8,64-bitPython2.4支持hadoop集群环境版本:ApacheHadoop1.

1、环境准备

支持操作系统:
Linux or Mac OS X
Java 8, 64-bit
Python 2.4+


支持hadoop集群环境版本:
Apache Hadoop 1.x
Apache Hadoop 2.x
Cloudera CDH 4
Cloudera CDH 5

备注:
这里我们准备三台Ubuntu 14.04
并且搭建CDH5.10集群

2、下载安装包
presto-server-0.191.tar.gz
下载路径:https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.191/presto-server-0.191.tar.gz

3、将下载的安装包分别解压到3台服务器的/opt目录下,如图:




4、配置presto
在我们解压好的目录下创建一个etc文件夹,etc主要需要配置以下内容
Node Properties: environmental configuration specific to each node(每个节点名称及数据目录,所属集群配置)
JVM Config: command line options for the Java Virtual Machine(JVM配置)
Config Properties: configuration for the Presto server(presto详细参数配置,端口号、内存分配、主从等)
Catalog Properties: configuration for Connectors (data sources)(数据源连接配置)


5、Node Properties配置
在etc下创建文件node.properties
etc/node.properties:
node.environment=production                     #集群名称,所有节点都应该统一
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff    #节点唯一性标识,ID
node.data-dir=/data/presto/data      #数据目录,主要存储日志和一些其他的数据


6、JVM配置
在etc下创建文件jvm.config
etc/jvm.config:
-server
-Xmx16G
-XX:+UseG1GC
-XX:G1HeapRegionSize=32M
-XX:+UseGCOverheadLimit
-XX:+ExplicitGCInvokesConcurrent
-XX:+HeapDumpOnOutOfMemoryError
-XX:+ExitOnOutOfMemoryError

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

7、Config Properties  详细参数配置
在etc下创建文件config.properties,这里的配置要分主从了,
主节点配置,即coordinator配置:
coordinator=true             #是不是主节点
node-scheduler.include-coordinator=false    #主节点是否同时是子节点
http-server.http.port=8080   #http端口号,presto主要用http请求
query.max-memory=50GB     #一个query最大内存限定
query.max-memory-per-node=1GB   #每个节点提供给一个query的最大内存
discovery-server.enabled=true   #类似于hbase的心跳,做节点监控
discovery.uri=http://example.net:8080    #这里填主节点IP

从节点配置,即worker配置:
coordinator=false
http-server.http.port=8080
query.max-memory=50GB
query.max-memory-per-node=1GB
discovery.uri=http://example.net:8080    #这里填主节点IP

附:如果主从只有一个节点,配置如下:
coordinator=true
node-scheduler.include-coordinator=true    #即主即从配为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     #这里填主节点IP

You may also wish to set the following properties:

jmx.rmiregistry.port: Specifies the port for the JMX RMI registry. JMX clients should connect to this port.
jmx.rmiserver.port: Specifies the port for the JMX RMI server. Presto exports many metrics that are useful for monitoring via JMX.

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

9、连接设置
这里只说一下hive的,其实官网写的很清楚,如果有用到其他的,可以点一下官网连接:https://prestodb.io/docs/current/connector.html
hive connector配置如下:
(1)创建存放链接配置文件的文件夹,在之前etc目录下创建catalog
(2)放入一个jmx的配置文件,jmx.properties,配置内容:connector.name=jmx (通过jmx管理connector)
(3)配置一个hive connector的配制文件,hive.properties,内容如下:
connector.name=hive-hadoop2                  #取个连接名
hive.metastore.uri=thrift://192.168.10.101:9083     #配置metastore连接
hive.config.resources=/etc/hadoop/conf/core-site.xml,/etc/hadoop/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


10、这些都配置好后,就要启动presto,步骤如下:
(1)在bin目录下启动服务:bin/launcher start    bin/launcher start
(2)命令行启动:下载启动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

(3)下载下来后改个名字为presto,放在bin目录下,然后给个执行权限:chmod +x presto ,如下图

(4)连接hive,并启动:./presto --server localhost:8080 --catalog hive --schema default
(5)如果要关闭presto服务,执行:bin/launcher stop

备注:如上配置像IP地址都要换成自己的集群,最后成功后可查询hive数据,如下图:


推荐阅读
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • GIMP 2.99.2 发布:UI 采用 GTK3 实现、原生支持高分屏和 Wayland
    开源项目评选最后一周,手里的5票再不用就没用了https:www.oschina.netprojecttop_cn_2020GIMP2.99.2已发布,同时这也标志着GIMP3.0的到来,其中最显著的变化是从GTK2过渡到GTK3工具包。基于 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 深入理解Redis的数据结构与对象系统
    本文详细探讨了Redis中的数据结构和对象系统的实现,包括字符串、列表、集合、哈希表和有序集合等五种核心对象类型,以及它们所使用的底层数据结构。通过分析源码和相关文献,帮助读者更好地理解Redis的设计原理。 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
  • 本文详细探讨了HTTP 500内部服务器错误的成因、解决方案及其在Web开发中的影响。通过对具体案例的分析,帮助读者理解并解决此类问题。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • 本文讨论了如何根据特定条件动态显示或隐藏文件上传控件中的默认文本(如“未选择文件”)。通过结合CSS和JavaScript,可以实现更灵活的用户界面。 ... [详细]
  • 精选30本C# ASP.NET SQL中文PDF电子书合集
    欢迎订阅我们的技术博客,获取更多关于C#、ASP.NET和SQL的最新资讯和资源。 ... [详细]
  • 本文详细介绍了 com.facebook.drawee.view.SimpleDraweeView 中的 setScaleType 方法,提供了多个实际代码示例,并解释了其在不同场景下的应用。 ... [详细]
  • 图数据库中的知识表示与推理机制
    本文探讨了图数据库及其技术生态系统在知识表示和推理问题上的应用。通过理解图数据结构,尤其是属性图的特性,可以为复杂的数据关系提供高效且优雅的解决方案。我们将详细介绍属性图的基本概念、对象建模、概念建模以及自动推理的过程,并结合实际代码示例进行说明。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • 深入理解Java泛型:JDK 5的新特性
    本文详细介绍了Java泛型的概念及其在JDK 5中的应用,通过具体代码示例解释了泛型的引入、作用和优势。同时,探讨了泛型类、泛型方法和泛型接口的实现,并深入讲解了通配符的使用。 ... [详细]
  • 反向投影技术主要用于在大型输入图像中定位特定的小型模板图像。通过直方图对比,它能够识别出最匹配的区域或点,从而确定模板图像在输入图像中的位置。 ... [详细]
author-avatar
手机用户2502893613
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有