`
yugouai
  • 浏览: 490710 次
  • 性别: 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开源项目文档

    ebay,youku,facebook等架构文档

    ebay,youku,facebook等架构文档 http://yuquan-nana.javaeye.com/blog/551835

    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文档和PPT

    一个关于facebook的文档和PPT,

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

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

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

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

    facebook安卓安装包

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

    facebook api

    facebook api 用于Facebook应用程序的开发

    Facebook PHP SDK 4.0

    Facebook PHP SDK 4.0

    facebook开发帮助

    facebook开发帮助

    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及以上的操作...

    FaceBook客户端

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

    打造Facebook:亲历Facebook爆发的5年

    这本书的书名——《打造Facebook:亲历Facebook爆发的5年》很嚣张,谁有资格可以说这句话呢,当然,扎克伯格最有资格,但他不会亲自来告诉你,至少从目前的情况来看,近几年都不大可能。而且,这不是一个人的公司。...

    React API文档 React 起源于 Facebook 的内部项目

    React API文档。React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设Instagram 的网站。做出来以后,发现这套东西很好用,就在2013年5月开源了。...

    Python库 | facebook_wda-1.4.3-py3-none-any.whl

    资源分类:Python库 所属语言:Python 使用前提:需要解压 资源全名:facebook_wda-1.4.3-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Android 集成FaceBook广告

    FaceBook广告文档地址:https://developers.facebook.com/docs/audience-network/guides/ad-formats/interstitial/android 打开文档里面类别是在这样: 包含横幅广告,插页广告,视频广告等等,但是前期的集成工作...

    PrestoDB的WebUIAirpal.zip

    Airpal 是一个基于 Web 的查询执行工具,利用 Facebook 的 PrestoDB 进行查询和获取结果。提供了查找表、元数据、浏览数据行,编写和执行查询的功能,这些功能全部通过浏览器完成。一旦查询开始执行,用户可跟踪查询...

    facebook sdn

    facebook所使用的文档 有需要者请下载。

    Facebook图文分享

    Facebook图文分享,http图分享,本地图分享

    FaceBook基于Iphone的多个应用源码

    Iphone开发系列源码——FaceBook基于Iphone的多个应用源码Iphone开发系列源码——FaceBook基于Iphone的多个应用源码Iphone开发系列源码——FaceBook基于Iphone的多个应用源码Iphone开发系列源码——FaceBook基于...

Global site tag (gtag.js) - Google Analytics