`
yugouai
  • 浏览: 494821 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

FaceBook PrestoDB 安装文档

 
阅读更多

主要是根据官网内容配置,Presto详细的内容可参考官网

 

单机安装

1、下载presto-server-0.56.tar.gz,解压后在文件夹里创建etc目录

在etc下创建一下文件与目录:

config.properties : Presto 服务配置

jvm.config : Java虚拟机的命令行选项 
log.properties : 日志信息

node.properties : 环境变量配置,每个节点特定配置

catalog目录 : 每个连接者配置(data sources)

(1)相关文件配置信息

config.properties

coordinator=true
datasources=jmx,hive
http-server.http.port=8080
presto-metastore.db.type=h2
presto-metastore.db.filename=var/db/MetaStore
task.max-memory=1GB
discovery-server.enabled=true
discovery.uri=http://localhost:8080 

    datasources:指定多个catalog names,通过逗号分割,coordinator 与 workers均含有JMX来读取Java相关配置信息,另外可以配置hive等信息,当然coordinator最好不配置hive,减少协调器的负载

    http-server.http.port:Presto通过Http协议进行交互,则配置该端口进行信息交互

    presto-metastore.db.filename:Presto使用h2保存metadata,该配置是h2保存的本地文件存储

    task.max-memory:节点中任务使用最大的内存,该参数对查询操作有一定的约束

    discovery-server.enabled:Presto使用 Discovery service来定位集群中所有的节点。启动实例后向Discovery service注册。coordinator运行在嵌入式的Discovery service

    discovery.uri:Discovery server的URI,单机版配置自身就OK

 

jvm.config

-server
-Xmx16G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+CMSClassUnloadingEnabled
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p
-XX:PermSize=150M
-XX:MaxPermSize=150M
-XX:ReservedCodeCacheSize=150M
-Xbootclasspath/p:/home/hadoop/presto/lib/floatingdecimal-0.1.jar
-Dhive.config.resources=/home/hadoop/presto/etc/hadoop/conf/core-site.xml,/home/hadoop/presto/etc/hadoop/conf/hdfs-site.xml

 JVM相关参数配置,这些参数在编译时使用,不导入到shell,每个参数设置为一行,行尾切勿有空格

 

log.properties

com.facebook.presto=DEBUG

 配置日志等级,类似于log4j。四个等级: DEBUGINFOWARN , ERROR

 

 node.properties

 

node.environment=production
node.id=e256ec90-e1ef-4fc6-8eb0-378f58e05987
node.data-dir=/data2/presto/data
 node.environment:Presto的名称,所有节点在集群环境必须具有相同的名称

 

 node.id:安装的唯一标识,在每个节点必须唯一,若一台机器含有多个实例,则 其id是一致的,linux可使用uuidgen命令生成32位的UUID

 node.data-dir:本地文件路径,存放日志或其他数据

 

catalog目录

配置presto访问数据源的渠道

在etc目录下创建catalog目录

创建jmx.properties

 

connector.name=jmx
 创建hive.properties

 

 

connector.name=hive-hadoop1
hive.metastore.uri=thrift://localhost:9083
hive.config.resources=/home/hadoop/presto/etc/hadoop/conf/core-site.xml,/home/hadoop/presto/etc/hadoop/conf/hdfs-site.xml,/home/hadoop/presto/etc/hadoop/conf/mapred-site.xml
 connector.name:若hadoop集群是使用2.x系列,则为hive-cdh4,hive.metastore.uri则为hive server 后台进程,两种形式:

 

(1)metastore形式

 

hive --service metastore &
 默认端口是9083

 

(2)server形式

hive --service hiveserver -p 9083 &
 指定端口
配置完相关信息,则下载presto-cli-0.56-executable.jar,presto交互接口,把jar包更名为presto(建议使用link方式)
启动presto服务
bin/launcher start 后台运行,日志信息为node.preperties配置的node.data-dir
run为前台运行,使用help查看更多的选项
常用(start/run/stop/restart)
使用jsp -ml 命令查看到,服务已经开启
29546 com.facebook.presto.server.PrestoServer
 打开交互接口
./presto --server localhost:8080 --catalog hive --schema default
 
presto:default> show tables;
                     Table                     
-----------------------------------------------                                                          
 cw_a                                          
 cw_b                                          
                           
 具体语法:http://prestodb.io/docs/current/sql.html
至今,单机部署成功。
2、集群配置
worker配置,即节点配置基本跟以上一致
(1)单独部署discovery server
解压后在discovery下新建etc目录,etc目录下创建以下文件

config.properties : Presto 服务配置

 

http-server.http.port=8411

 

jvm.config : Java虚拟机的命令行选项 

 

-server
-Xmx1G
-XX:+UseConcMarkSweepGC
-XX:+ExplicitGCInvokesConcurrent
-XX:+AggressiveOpts
-XX:+HeapDumpOnOutOfMemoryError
-XX:OnOutOfMemoryError=kill -9 %p

 

node.properties : 环境变量配置,每个节点特定配置

 

node.environment=production
node.id=ffffffff-ffff-ffff-ffff-ffffffffffff
node.data-dir=/data2/presto-server/data
 运行
bin/launcher start
 discovery运行与presto运行相似

 

查看进程

 

24064 io.airlift.discovery.server.DiscoveryServer
 

 

(2)修改presto的config.properties

coordinator节点

 

coordinator=true
discovery-server.enabled=true
discovery.uri=http://discovery.server.node.com:8411

worker节点

 

coordinator=false
#discovery-server.enabled=true
discovery.uri=http://discovery.server.node.com:8411
coordinator,worker节点配置修改为以上
(3)运行
  • 运行discovery-server
$DISCOVERY_SERVER_HOME/bin/launcher start
  • 运行presto实例
$PRESTO_HOME/bin/launcher start
  • 运行用户接口
./presto --server localhost:8080 --catalog hive --schema default

查看presto的log可以看到

discovery.uri连接信息:2014-01-11T13:36:30.120+0800     INFO   main    Bootstrap       discovery.uri                                     null      http://183.61.2.158:8411

hadoop配置相关信息:2014-01-11T13:36:30.120+0800     INFO   main    Bootstrap       hive.config.resources                             null      [/home/hadoop/presto/etc/hadoop/conf/core-site.xml, /home/hadoop/presto/etc/hadoop/conf/hdfs-site.xml]

配置的node.id:2014-01-11T13:36:30.123+0800     INFO   main    Bootstrap       node.id                                           null      e256ec90-e1ef-4fc6-8eb0-378f58e05987

hive-server信息:2014-01-11T13:36:30.120+0800     INFO   main    Bootstrap       hive.metastore.uri                                null      thrift://localhost:9083

 

成功启动的信息
2014-01-11T13:36:30.696+0800    DEBUG   main    com.facebook.presto.hive.RebindSafeMBeanServer  io.airlift.node:name=NodeInfo already bound to io.airlift.node.NodeInfo[io.airlift.node:name=NodeInfo]
2014-01-11T13:36:30.753+0800    DEBUG   main    com.facebook.presto.hive.RebindSafeMBeanServer  io.airlift.http.client:type=AsyncHttpClient,name=ForDiscoveryClient already bound to io.airlift.http.client.netty.NettyAsyncHttpClient[io.airlift.http.client:type=AsyncHttpClient,name=ForDiscoveryClient]
2014-01-11T13:36:30.755+0800    DEBUG   main    com.facebook.presto.hive.RebindSafeMBeanServer  io.airlift.discovery.client:name=ServiceInventory already bound to io.airlift.discovery.client.ServiceInventory[io.airlift.discovery.client:name=ServiceInventory]
2014-01-11T13:36:30.927+0800     INFO   main    io.airlift.bootstrap.LifeCycleManager   Life cycle starting...
2014-01-11T13:36:30.927+0800     INFO   main    io.airlift.bootstrap.LifeCycleManager   Life cycle startup complete. System ready.
2014-01-11T13:36:30.935+0800     INFO   main    com.facebook.presto.metadata.CatalogManager     Added catalog hive using connector hive-hadoop1
2014-01-11T13:36:30.939+0800     INFO   main    com.facebook.presto.metadata.CatalogManager     Added catalog jmx using connector jmx
2014-01-11T13:36:30.987+0800     INFO   main    com.facebook.presto.server.PrestoServer ======== SERVER STARTED ========

 

  • 大小: 33.4 KB
分享到:
评论
1 楼 IT_LDB 2017-04-07  
   

哥们你帮我大忙了,谢啦。

一直在尝试使用内嵌的discover server服务,总是不好使,现在单独搭了一个discovery-server就好了。

给你点个赞 ~

我之前的问题:
[https://github.com/prestodb/presto/issues/7768][/https://github.com/prestodb/presto/issues/7768]

相关推荐

    FaceBook开源项目文档

    硬件文档--FaceBook开源项目文档

    scribe详细安装文档

    **scribe详细安装文档** scribe是一个广泛使用的日志聚合系统,主要设计用于收集、分类和转发分布式系统的日志数据。在大型分布式环境中,如Hadoop或Facebook等,scribe扮演着至关重要的角色,它允许各个节点将日志...

    facebook安装包178

    在安卓模拟器上面可以运行的facebook安装,目前在逍遥模拟器5.6.1(5.1.1)、海马玩模拟器0.10.7(4.2.2)、雷电模拟器3.35(5.1.1)、AVD模拟器Android Studio3.1.4(7.1.1)上面测试过可以,支持Android 4.0.3及以上的操作...

    ebay,youku,facebook等架构文档

    这些文档分别来自于eBay、YouTube、Facebook、淘宝、豆瓣、亚马逊和谷歌,涵盖了各大公司在不同时间点的架构设计和实践经验。这些公司都是互联网行业的巨头,它们的架构设计对整个行业有着深远的影响。以下是对这些...

    vue使用facebook twitter分享示例

    facebook 分享文档 twitter 分享文档 vue 使用 facebook 使用分享 找到index.html 添加一下代码 <!-- facebook 分享 --> <div id=fb-root></div> [removed](function (d, s, id) { var js, fjs = d....

    facebook开发帮助

    Facebook开发者平台提供了丰富的文档和社区支持,包括API文档、示例代码以及论坛等资源,帮助开发者更好地理解和使用这些功能。 最后,记得持续关注Facebook开发者平台的更新,以利用最新的特性和优化应用性能。...

    分布式大数据查询引擎 PrestoDB.zip

    PrestoDB 是 Facebook 推出的一个大数据的分布式 SQL 查询引擎。可对从数 G 到数 P 的大数据进行交互式的查询,查询的速度达到商业数据仓库的级别。 Presto 可以查询包括 Hive、Cassandra 甚至是一些商业的数据存储...

    FaceBook客户端

    Facebook(脸书)是美国的一个社交网络服务网站 ,创立于2004年2月4日,总部位于美国加利福尼亚州门洛帕克,2012年3月6日发布Windows版桌面聊天软件Facebook Messenger [1] 。主要创始人马克·扎克伯格。 Facebook是...

    facebook文档和PPT

    Facebook是全球最大的社交媒体平台之一,它的影响力深远,不仅改变了人们的社交方式,还对企业营销策略产生了重大影响。这个压缩包文件包含的"第七组.ppt"和"第七组最终版.doc"很可能提供了关于Facebook的深入分析...

    Facebook内部资料:产品设计评价体系文档

    ### Facebook内部资料:产品设计评价体系文档 #### 概述 在当今高度竞争的互联网行业中,产品设计的质量直接影响着用户体验及公司的市场竞争力。因此,如何有效地评估产品设计成为了各大科技公司关注的重点。...

    facebook安卓安装包

    facebook安卓安装包,Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的 ...

    wordpress WooCommerce Facebook 多像素插件

    1. **安装与激活插件**:首先,你需要在 WordPress 后台的插件管理界面搜索 "Facebook Pixel" 或 "Facebook 多像素",找到对应的插件并进行安装。安装完成后,激活插件以启用其功能。 2. **创建 Facebook 像素**:...

    facebook api

    ### Facebook API 开发者指南知识点概述 #### 一、引言:Facebook 平台简介(第一章) 本章节主要介绍 Facebook 平台的基本概念及其在社交网络中的地位与作用。通过本章的学习,开发者可以了解 Facebook API 的...

    facebook-android-sdk-4.18.0.zip

    二、SDK安装与配置: 1. **添加依赖**:在你的Android项目的build.gradle文件中,添加Facebook SDK的依赖库。 2. **初始化**:在应用程序级别的`onCreate`方法中,初始化Facebook SDK并设置App ID。 3. **权限请求**...

    基于C#的Facebook开发包

    - 文档文件,解释如何安装、配置和使用SDK。 - 库文件,如DLLs,可以直接引用到C#项目中使用。 - 许可证文件,阐述SDK的使用权限和限制。 总之,基于C#的Facebook开发包是C#开发者与Facebook平台进行互动的重要工具...

    Unity Facebook API 官方 Demo 完整工程 代码

    7. **官方文档**:在<https://developers.facebook.com/docs>上,Facebook提供了详细的开发者文档,包括集成指南、API参考和最佳实践,对于学习和解决问题非常有帮助。 8. **Friendsmash Unity Master**:这个项目...

    FaceBook插件开发入门教程

    "FaceBook插件开发入门教程" 本文将从Facebook插件开发的角度,讲解如何创建一个简单的Facebook插件,并介绍Facebook插件开发...如果您想学习更多关于Facebook插件开发的知识,可以查看Facebook官方文档和开发者社区。

    Facebook图文分享

    在IT行业中,社交媒体平台Facebook是全球用户众多的社交网络之一,它提供了丰富的功能,包括图文分享。本篇文章将深入探讨如何在Facebook上进行图文分享,无论是通过HTTP链接分享外部图片,还是上传本地图片。 首先...

    scribe安装配置文档[汇编].pdf

    Scribe 安装配置文档 Scribe 是 Facebook 开源的日志收集系统,已经在 Facebook 内部得到大量的应用。它能从各种日志源收集日志,存储到一个中央存储系统上,便于进行集中统计分析处理。它为日志的”分布式收集,...

    Laravel开发-facebook

    确保熟悉 Facebook 开发者文档,以充分利用 SDK 提供的所有可能性。 最后,要记住,Facebook API 有时会有变更,因此定期检查 SDK 更新和 Facebook 的开发者政策是必要的,以确保你的应用始终保持兼容性和合规性。...

Global site tag (gtag.js) - Google Analytics